@consta/uikit 4.20.0 → 4.22.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 (79) hide show
  1. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +1 -1
  2. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -1
  3. package/__internal__/src/components/Avatar/Avatar.css +1 -1
  4. package/__internal__/src/components/Badge/Badge.css +1 -1
  5. package/__internal__/src/components/Button/Button.css +1 -1
  6. package/__internal__/src/components/Button/Button.js +1 -1
  7. package/__internal__/src/components/Button/Button.js.map +1 -1
  8. package/__internal__/src/components/Checkbox/Checkbox.css +2 -2
  9. package/__internal__/src/components/ChoiceGroup/ChoiceGroup.css +1 -1
  10. package/__internal__/src/components/Collapse/Collapse.css +1 -1
  11. package/__internal__/src/components/Collapse/Collapse.js +1 -1
  12. package/__internal__/src/components/Collapse/Collapse.js.map +1 -1
  13. package/__internal__/src/components/Collapse/types.d.ts +8 -8
  14. package/__internal__/src/components/Collapse/types.js +1 -1
  15. package/__internal__/src/components/Collapse/types.js.map +1 -1
  16. package/__internal__/src/components/CollapseGroup/CollapseGroup.js +1 -1
  17. package/__internal__/src/components/CollapseGroup/CollapseGroup.js.map +1 -1
  18. package/__internal__/src/components/CollapseGroup/helpers.d.ts +8 -5
  19. package/__internal__/src/components/CollapseGroup/helpers.js.map +1 -1
  20. package/__internal__/src/components/Combobox/Combobox.js +1 -1
  21. package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
  22. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
  23. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
  24. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
  25. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
  27. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
  29. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
  30. package/__internal__/src/components/ListCanary/ListItem/ListItem.js +1 -1
  31. package/__internal__/src/components/ListCanary/ListItem/ListItem.js.map +1 -1
  32. package/__internal__/src/components/Select/Select.js +1 -1
  33. package/__internal__/src/components/Select/Select.js.map +1 -1
  34. package/__internal__/src/components/SelectComponents/Select.css +1 -1
  35. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.js +1 -1
  36. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.js.map +1 -1
  37. package/__internal__/src/components/Steps/Steps.js +1 -1
  38. package/__internal__/src/components/Steps/Steps.js.map +1 -1
  39. package/__internal__/src/components/Steps/StepsStep/StepsStep.css +1 -1
  40. package/__internal__/src/components/Steps/StepsStep/StepsStep.d.ts +1 -0
  41. package/__internal__/src/components/Steps/StepsStep/StepsStep.js +1 -1
  42. package/__internal__/src/components/Steps/StepsStep/StepsStep.js.map +1 -1
  43. package/__internal__/src/components/Steps/helper.d.ts +1 -1
  44. package/__internal__/src/components/Steps/types.d.ts +1 -1
  45. package/__internal__/src/components/Steps/types.js +1 -1
  46. package/__internal__/src/components/Steps/types.js.map +1 -1
  47. package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +1 -1
  48. package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +1 -1
  49. package/__internal__/src/components/Tabs/Tab/TabsTab.d.ts +2 -11
  50. package/__internal__/src/components/Tabs/Tab/TabsTab.js +1 -1
  51. package/__internal__/src/components/Tabs/Tab/TabsTab.js.map +1 -1
  52. package/__internal__/src/components/Tabs/Tabs.d.ts +0 -2
  53. package/__internal__/src/components/Tabs/Tabs.js +1 -1
  54. package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
  55. package/__internal__/src/components/Tabs/helpers.d.ts +7 -1
  56. package/__internal__/src/components/Tabs/helpers.js +1 -1
  57. package/__internal__/src/components/Tabs/helpers.js.map +1 -1
  58. package/__internal__/src/components/Tabs/index.d.ts +1 -0
  59. package/__internal__/src/components/Tabs/index.js +1 -1
  60. package/__internal__/src/components/Tabs/index.js.map +1 -1
  61. package/__internal__/src/components/Tabs/types.d.ts +16 -3
  62. package/__internal__/src/components/Tabs/types.js.map +1 -1
  63. package/__internal__/src/components/TagBase/TagBase.css +1 -1
  64. package/__internal__/src/components/Text/Text.css +1 -1
  65. package/__internal__/src/components/Text/Text.d.ts +1 -1
  66. package/__internal__/src/components/Text/Text.js +1 -1
  67. package/__internal__/src/components/Text/Text.js.map +1 -1
  68. package/__internal__/src/components/TextField/TextField.js +1 -1
  69. package/__internal__/src/components/TextField/TextField.js.map +1 -1
  70. package/__internal__/src/components/Tooltip/Tooltip.css +1 -1
  71. package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
  72. package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
  73. package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
  74. package/__internal__/src/hocs/withTooltip/withTooltip.js +1 -1
  75. package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
  76. package/__internal__/src/hooks/useSelect/useSelect.js +1 -1
  77. package/__internal__/src/hooks/useSelect/useSelect.js.map +1 -1
  78. package/__internal__/src/mixs/MixPopoverArrow/MixPopoverArrow.css +1 -1
  79. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["React","TabsFitModeDropdownWrapper","TabsFitModeScrollWrapper","getTabsDirection","linePosition","getTabsWidth","tabsDimensions","reduce","acc","td","size","gap","getTabsWrapper","tabsDirection","fitMode","OnlyListWrapper","defaultGetItemLabel","item","label","defaultGetItemIcon","icon","defaultGetItemLeftIcon","leftIcon","defaultGetItemRightIcon","rightIcon","defaultGetItemLeftSide","leftSide","defaultGetItemRightSide","rightSide","defaultGetItemDisable","disabled","withDefaultGetters","props","getItemLabel","getItemIcon","getItemLeftIcon","getItemRightIcon","getItemLeftSide","getItemRightSide","getItemDisabled","renderItemsList","getVisibleTabsRange","containerWidth","containerPaddingLeft","scrollLeft","firstVisibleTabIdx","lastVisibleTabIdx","containerLeftSide","idx","length","previousTabsWidth","slice","tabElLeftSide","tabElRightSide","Math","max"],"sources":["../../../../../src/components/Tabs/helpers.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TabsFitModeDropdownWrapper } from './FitModeDropdownWrapper/TabsFitModeDropdownWrapper';\nimport { TabsFitModeScrollWrapper } from './FitModeScrollWrapper/TabsFitModeScrollWrapper';\nimport {\n TabDimensions,\n TabsDirection,\n TabsFitModeWrapperProps,\n TabsItemDefault,\n TabsPropFitMode,\n TabsPropGetItemDisabled,\n TabsPropGetItemIcon,\n TabsPropGetItemLabel,\n TabsPropGetItemSide,\n TabsPropLinePosition,\n TabsProps,\n} from './types';\n\nexport const getTabsDirection = (\n linePosition: TabsPropLinePosition,\n): TabsDirection =>\n linePosition === 'left' || linePosition === 'right'\n ? 'vertical'\n : 'horizontal';\n\nexport const getTabsWidth = (tabsDimensions: TabDimensions[]): number =>\n tabsDimensions.reduce((acc, td) => acc + td.size + td.gap, 0);\n\nexport const getTabsWrapper = (\n tabsDirection: TabsDirection,\n fitMode: TabsPropFitMode,\n) => {\n if (tabsDirection === 'vertical') {\n return OnlyListWrapper;\n }\n\n return fitMode === 'scroll'\n ? TabsFitModeScrollWrapper\n : TabsFitModeDropdownWrapper;\n};\n\nconst defaultGetItemLabel: TabsPropGetItemLabel<TabsItemDefault> = (item) =>\n item.label;\nconst defaultGetItemIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.icon;\nconst defaultGetItemLeftIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.leftIcon;\nconst defaultGetItemRightIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.rightIcon;\nconst defaultGetItemLeftSide: TabsPropGetItemSide<TabsItemDefault> = (item) =>\n item.leftSide;\nconst defaultGetItemRightSide: TabsPropGetItemSide<TabsItemDefault> = (item) =>\n item.rightSide;\nconst defaultGetItemDisable: TabsPropGetItemDisabled<TabsItemDefault> = (\n item,\n) => item.disabled;\n\nexport const withDefaultGetters = (props: TabsProps) => {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIcon: props.getItemIcon || defaultGetItemIcon,\n getItemLeftIcon: props.getItemLeftIcon || defaultGetItemLeftIcon,\n getItemRightIcon: props.getItemRightIcon || defaultGetItemRightIcon,\n getItemLeftSide: props.getItemLeftSide || defaultGetItemLeftSide,\n getItemRightSide: props.getItemRightSide || defaultGetItemRightSide,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisable,\n };\n};\n\nconst OnlyListWrapper = <ITEM,>({\n renderItemsList,\n}: TabsFitModeWrapperProps<ITEM>): React.ReactElement | null => (\n <>{renderItemsList({})}</>\n);\n\nexport const getVisibleTabsRange = ({\n tabsDimensions,\n containerWidth,\n containerPaddingLeft,\n scrollLeft,\n}: {\n tabsDimensions: TabDimensions[];\n containerWidth: number;\n containerPaddingLeft: number;\n scrollLeft: number;\n}): [number, number] => {\n let firstVisibleTabIdx = null;\n let lastVisibleTabIdx = null;\n\n const containerLeftSide = scrollLeft;\n const containerRightSide = containerLeftSide + containerWidth;\n\n for (let idx = 0; idx < tabsDimensions.length; idx++) {\n const previousTabsWidth = getTabsWidth(tabsDimensions.slice(0, idx));\n const tabElLeftSide = containerPaddingLeft + previousTabsWidth;\n const isTabLeftSideVisible = tabElLeftSide >= containerLeftSide;\n if (isTabLeftSideVisible && firstVisibleTabIdx === null) {\n firstVisibleTabIdx = idx;\n }\n\n const tabElRightSide = tabElLeftSide + tabsDimensions[idx].size;\n const isTabRightSideVisible = tabElRightSide <= containerRightSide;\n if (isTabRightSideVisible) {\n lastVisibleTabIdx = idx;\n }\n }\n\n firstVisibleTabIdx = firstVisibleTabIdx ?? 0;\n lastVisibleTabIdx = Math.max(firstVisibleTabIdx, lastVisibleTabIdx ?? 0);\n\n return [firstVisibleTabIdx, lastVisibleTabIdx];\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["React","TabsFitModeDropdownWrapper","TabsFitModeScrollWrapper","getTabsDirection","linePosition","getTabsWidth","tabsDimensions","reduce","acc","td","size","gap","getTabsWrapper","tabsDirection","fitMode","OnlyListWrapper","defaultGetItemLabel","item","label","defaultGetItemIcon","icon","defaultGetItemLeftIcon","leftIcon","defaultGetItemRightIcon","rightIcon","defaultGetItemLeftSide","leftSide","defaultGetItemRightSide","rightSide","defaultGetItemDisable","disabled","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemRef","ref","withDefaultGetters","props","getItemLabel","getItemIcon","getItemLeftIcon","getItemRightIcon","getItemLeftSide","getItemRightSide","getItemDisabled","getItemAs","getItemAttributes","getItemRef","renderItemsList","getVisibleTabsRange","containerWidth","containerPaddingLeft","scrollLeft","firstVisibleTabIdx","lastVisibleTabIdx","containerLeftSide","idx","length","previousTabsWidth","slice","tabElLeftSide","tabElRightSide","Math","max"],"sources":["../../../../../src/components/Tabs/helpers.tsx"],"sourcesContent":["import React from 'react';\n\nimport { TabsFitModeDropdownWrapper } from './FitModeDropdownWrapper/TabsFitModeDropdownWrapper';\nimport { TabsFitModeScrollWrapper } from './FitModeScrollWrapper/TabsFitModeScrollWrapper';\nimport {\n TabDimensions,\n TabsDirection,\n TabsFitModeWrapperProps,\n TabsItemDefault,\n TabsPropFitMode,\n TabsPropGetItemAs,\n TabsPropGetItemAttributes,\n TabsPropGetItemDisabled,\n TabsPropGetItemIcon,\n TabsPropGetItemLabel,\n TabsPropGetItemRef,\n TabsPropGetItemSide,\n TabsPropLinePosition,\n TabsProps,\n} from './types';\n\nexport const getTabsDirection = (\n linePosition: TabsPropLinePosition,\n): TabsDirection =>\n linePosition === 'left' || linePosition === 'right'\n ? 'vertical'\n : 'horizontal';\n\nexport const getTabsWidth = (tabsDimensions: TabDimensions[]): number =>\n tabsDimensions.reduce((acc, td) => acc + td.size + td.gap, 0);\n\nexport const getTabsWrapper = (\n tabsDirection: TabsDirection,\n fitMode: TabsPropFitMode,\n) => {\n if (tabsDirection === 'vertical') {\n return OnlyListWrapper;\n }\n\n return fitMode === 'scroll'\n ? TabsFitModeScrollWrapper\n : TabsFitModeDropdownWrapper;\n};\n\nconst defaultGetItemLabel: TabsPropGetItemLabel<TabsItemDefault> = (item) =>\n item.label;\nconst defaultGetItemIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.icon;\nconst defaultGetItemLeftIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.leftIcon;\nconst defaultGetItemRightIcon: TabsPropGetItemIcon<TabsItemDefault> = (item) =>\n item.rightIcon;\nconst defaultGetItemLeftSide: TabsPropGetItemSide<TabsItemDefault> = (item) =>\n item.leftSide;\nconst defaultGetItemRightSide: TabsPropGetItemSide<TabsItemDefault> = (item) =>\n item.rightSide;\nconst defaultGetItemDisable: TabsPropGetItemDisabled<TabsItemDefault> = (\n item,\n) => item.disabled;\nconst defaultGetItemAs: TabsPropGetItemAs<TabsItemDefault> = (item) => item.as;\nconst defaultGetItemAttributes: TabsPropGetItemAttributes<TabsItemDefault> = (\n item,\n) => item.attributes;\nconst defaultGetItemRef: TabsPropGetItemRef<TabsItemDefault> = (item) =>\n item.ref;\n\nexport const withDefaultGetters = (props: TabsProps) => {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIcon: props.getItemIcon || defaultGetItemIcon,\n getItemLeftIcon: props.getItemLeftIcon || defaultGetItemLeftIcon,\n getItemRightIcon: props.getItemRightIcon || defaultGetItemRightIcon,\n getItemLeftSide: props.getItemLeftSide || defaultGetItemLeftSide,\n getItemRightSide: props.getItemRightSide || defaultGetItemRightSide,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisable,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemRef: props.getItemRef || defaultGetItemRef,\n };\n};\n\nconst OnlyListWrapper = <ITEM,>({\n renderItemsList,\n}: TabsFitModeWrapperProps<ITEM>): React.ReactElement | null => (\n <>{renderItemsList({})}</>\n);\n\nexport const getVisibleTabsRange = ({\n tabsDimensions,\n containerWidth,\n containerPaddingLeft,\n scrollLeft,\n}: {\n tabsDimensions: TabDimensions[];\n containerWidth: number;\n containerPaddingLeft: number;\n scrollLeft: number;\n}): [number, number] => {\n let firstVisibleTabIdx = null;\n let lastVisibleTabIdx = null;\n\n const containerLeftSide = scrollLeft;\n const containerRightSide = containerLeftSide + containerWidth;\n\n for (let idx = 0; idx < tabsDimensions.length; idx++) {\n const previousTabsWidth = getTabsWidth(tabsDimensions.slice(0, idx));\n const tabElLeftSide = containerPaddingLeft + previousTabsWidth;\n const isTabLeftSideVisible = tabElLeftSide >= containerLeftSide;\n if (isTabLeftSideVisible && firstVisibleTabIdx === null) {\n firstVisibleTabIdx = idx;\n }\n\n const tabElRightSide = tabElLeftSide + tabsDimensions[idx].size;\n const isTabRightSideVisible = tabElRightSide <= containerRightSide;\n if (isTabRightSideVisible) {\n lastVisibleTabIdx = idx;\n }\n }\n\n firstVisibleTabIdx = firstVisibleTabIdx ?? 0;\n lastVisibleTabIdx = Math.max(firstVisibleTabIdx, lastVisibleTabIdx ?? 0);\n\n return [firstVisibleTabIdx, lastVisibleTabIdx];\n};\n"],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export * from './Tabs';
2
+ export * from './Tab/TabsTab';
@@ -1,2 +1,2 @@
1
- export*from"./Tabs";
1
+ export*from"./Tabs";export*from"./Tab/TabsTab";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Tabs/index.ts"],"sourcesContent":["export * from './Tabs';\n"],"mappings":"AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Tabs/index.ts"],"sourcesContent":["export * from './Tabs';\nexport * from './Tab/TabsTab';\n"],"mappings":"AAAA,oBACA"}
@@ -1,5 +1,6 @@
1
1
  import { IconComponent, IconPropSize } from '@consta/icons/Icon';
2
2
  import React from 'react';
3
+ import { PropsWithAsAttributes } from "../../utils/types/PropsWithAsAttributes";
3
4
  import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
4
5
  export declare type TabDimensions = {
5
6
  size: number;
@@ -12,6 +13,9 @@ export declare type TabsItemDefault = {
12
13
  rightSide?: React.ReactNode;
13
14
  leftSide?: React.ReactNode;
14
15
  disabled?: boolean;
16
+ as?: keyof JSX.IntrinsicElements;
17
+ ref?: React.RefObject<HTMLElement>;
18
+ attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];
15
19
  /**
16
20
  * @deprecated since version 4.11.0 use leftIcon
17
21
  */
@@ -33,6 +37,9 @@ export declare type TabsPropGetItemLabel<ITEM> = (item: ITEM) => string | number
33
37
  export declare type TabsPropGetItemChecked<ITEM> = (item: ITEM) => boolean | undefined;
34
38
  export declare type TabsPropGetItemIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
35
39
  export declare type TabsPropGetItemSide<ITEM> = (item: ITEM) => React.ReactNode | undefined;
40
+ export declare type TabsPropGetItemAs<ITEM> = (item: ITEM) => keyof JSX.IntrinsicElements | undefined;
41
+ export declare type TabsPropGetItemAttributes<ITEM> = (item: ITEM) => TabsItemDefault['attributes'];
42
+ export declare type TabsPropGetItemRef<ITEM> = (item: ITEM) => React.RefObject<HTMLElement> | undefined;
36
43
  export declare type TabsPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;
37
44
  export declare type TabsPropOnChange<ITEM> = (props: {
38
45
  e: React.MouseEvent;
@@ -46,8 +53,9 @@ export declare type RenderItemProps<ITEM> = {
46
53
  iconSize?: IconPropSize;
47
54
  onlyIcon?: boolean;
48
55
  label: string;
56
+ tabRef?: React.RefObject<HTMLElement>;
49
57
  renderInDropdown?: boolean;
50
- } & Omit<TabsItemDefault, 'label'>;
58
+ } & Omit<TabsItemDefault, 'label' | 'ref'>;
51
59
  export declare type RenderItem<ITEM> = (props: RenderItemProps<ITEM>) => React.ReactElement | null;
52
60
  export declare type TabsFitModeWrapperProps<ITEM> = {
53
61
  items: ITEM[];
@@ -72,6 +80,9 @@ export declare type TabsProps<ITEM = TabsItemDefault> = PropsWithHTMLAttributesA
72
80
  getItemLeftSide?: TabsPropGetItemSide<ITEM>;
73
81
  getItemRightSide?: TabsPropGetItemSide<ITEM>;
74
82
  getItemDisabled?: TabsPropGetItemDisabled<ITEM>;
83
+ getItemAs?: TabsPropGetItemAs<ITEM>;
84
+ getItemAttributes?: TabsPropGetItemAttributes<ITEM>;
85
+ getItemRef?: TabsPropGetItemRef<ITEM>;
75
86
  children?: never;
76
87
  onChange: TabsPropOnChange<ITEM>;
77
88
  renderItem?: RenderItem<ITEM>;
@@ -92,7 +103,7 @@ export declare type TabsProps<ITEM = TabsItemDefault> = PropsWithHTMLAttributesA
92
103
  getItemLabel: TabsPropGetItemLabel<ITEM>;
93
104
  });
94
105
  export declare type TabsComponent = <ITEM>(props: TabsProps<ITEM>) => React.ReactElement | null;
95
- export declare type TabsTabProps = {
106
+ export declare type TabsTabProps<AS extends keyof JSX.IntrinsicElements = 'button'> = PropsWithAsAttributes<{
96
107
  onChange: React.MouseEventHandler;
97
108
  checked: boolean;
98
109
  size: TabsPropSize;
@@ -100,8 +111,10 @@ export declare type TabsTabProps = {
100
111
  onlyIcon?: boolean;
101
112
  className?: string;
102
113
  label: string;
114
+ tabRef?: React.RefObject<HTMLElement>;
103
115
  renderInDropdown?: boolean;
104
- } & Omit<TabsItemDefault, 'label'>;
116
+ } & Omit<TabsItemDefault, 'label' | 'ref' | 'attributes'>, AS>;
117
+ export declare type TabsTabComponent = <AS extends keyof JSX.IntrinsicElements = 'button'>(props: TabsTabProps<AS>) => React.ReactElement | null;
105
118
  export declare type TabsMoreItemsProps<ITEM = TabsItemDefault> = PropsWithHTMLAttributesAndRef<{
106
119
  items: ITEM[];
107
120
  renderItem: (item: ITEM, onClick: () => void, renderInDropdown?: boolean) => React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["tabsSizes","tabsDefaultSize","tabsViews","tabsDefaultView","tabsLinePositions","tabsDefaultLinePosition","tabsFitModes","tabsDefaultFitMode"],"sources":["../../../../../src/components/Tabs/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type TabDimensions = {\n size: number;\n gap: number;\n};\n\nexport type TabsItemDefault = {\n label: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n rightSide?: React.ReactNode;\n leftSide?: React.ReactNode;\n disabled?: boolean;\n\n /**\n * @deprecated since version 4.11.0 use leftIcon\n */\n icon?: IconComponent;\n};\n\nexport const tabsSizes = ['m', 's', 'xs'] as const;\nexport type TabsPropSize = typeof tabsSizes[number];\nexport const tabsDefaultSize: TabsPropSize = tabsSizes[0];\n\nexport const tabsViews = ['bordered', 'clear'] as const;\nexport type TabsPropView = typeof tabsViews[number];\nexport const tabsDefaultView: TabsPropView = tabsViews[0];\n\nexport const tabsLinePositions = ['bottom', 'top', 'left', 'right'] as const;\nexport type TabsPropLinePosition = typeof tabsLinePositions[number];\nexport const tabsDefaultLinePosition: TabsPropLinePosition = 'bottom';\n\nexport const tabsFitModes = ['scroll', 'dropdown'] as const;\nexport type TabsPropFitMode = typeof tabsFitModes[number];\nexport const tabsDefaultFitMode: TabsPropFitMode = 'dropdown';\n\nexport type TabsPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\nexport type TabsPropGetItemChecked<ITEM> = (item: ITEM) => boolean | undefined;\nexport type TabsPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type TabsPropGetItemSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type TabsPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\n\nexport type TabsPropOnChange<ITEM> = (props: {\n e: React.MouseEvent;\n value: ITEM;\n}) => void;\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n label: string;\n renderInDropdown?: boolean;\n} & Omit<TabsItemDefault, 'label'>;\n\nexport type RenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsFitModeWrapperProps<ITEM> = {\n items: ITEM[];\n tabsDimensions: TabDimensions[];\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n renderItem: (item: ITEM) => React.ReactNode;\n renderItemsList: RenderItemsListProp;\n tabRefs: Array<React.RefObject<HTMLElement>>;\n size: TabsPropSize;\n};\n\nexport type TabsProps<ITEM = TabsItemDefault> = PropsWithHTMLAttributesAndRef<\n {\n size?: TabsPropSize;\n onlyIcon?: boolean;\n view?: TabsPropView;\n iconSize?: IconPropSize;\n items: ITEM[];\n value?: ITEM | null;\n getItemLabel?: TabsPropGetItemLabel<ITEM>;\n getItemLeftIcon?: TabsPropGetItemIcon<ITEM>;\n getItemRightIcon?: TabsPropGetItemIcon<ITEM>;\n getItemLeftSide?: TabsPropGetItemSide<ITEM>;\n getItemRightSide?: TabsPropGetItemSide<ITEM>;\n getItemDisabled?: TabsPropGetItemDisabled<ITEM>;\n children?: never;\n onChange: TabsPropOnChange<ITEM>;\n renderItem?: RenderItem<ITEM>;\n disabled?: boolean;\n\n /**\n * @deprecated since version 4.11.0 use getItemLeftIcon\n */\n getItemIcon?: TabsPropGetItemIcon<ITEM>;\n } & (\n | {\n linePosition?: Extract<TabsPropLinePosition, 'bottom' | 'top'>;\n fitMode?: 'dropdown' | 'scroll';\n }\n | {\n linePosition: Extract<TabsPropLinePosition, 'left' | 'right'>;\n fitMode?: never;\n }\n ),\n HTMLDivElement\n> &\n (ITEM extends { label: TabsItemDefault['label'] }\n ? {}\n : {\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n });\n\nexport type TabsComponent = <ITEM>(\n props: TabsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsTabProps = {\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n className?: string;\n label: string;\n renderInDropdown?: boolean;\n} & Omit<TabsItemDefault, 'label'>;\n\nexport type TabsMoreItemsProps<ITEM = TabsItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n renderItem: (\n item: ITEM,\n onClick: () => void,\n renderInDropdown?: boolean,\n ) => React.ReactNode;\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n height: number;\n size: TabsPropSize;\n } & React.RefAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n\nexport type TabsMoreItemsComponent = <ITEM>(\n props: TabsMoreItemsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type RenderItemsListProp = (props: {\n withRunningLine?: boolean;\n getTabClassName?: (idx: number) => string | undefined;\n}) => React.ReactNode;\n\nexport type TabsDirection = 'horizontal' | 'vertical';\n"],"mappings":"AAwBA,MAAO,IAAMA,UAAS,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,IAAX,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,UAAS,CAAG,CAAC,UAAD,CAAa,OAAb,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,QAAD,CAAW,KAAX,CAAkB,MAAlB,CAA0B,OAA1B,CAA1B,CAEP,MAAO,IAAMC,wBAA6C,CAAG,QAAtD,CAEP,MAAO,IAAMC,aAAY,CAAG,CAAC,QAAD,CAAW,UAAX,CAArB,CAEP,MAAO,IAAMC,mBAAmC,CAAG,UAA5C"}
1
+ {"version":3,"file":"types.js","names":["tabsSizes","tabsDefaultSize","tabsViews","tabsDefaultView","tabsLinePositions","tabsDefaultLinePosition","tabsFitModes","tabsDefaultFitMode"],"sources":["../../../../../src/components/Tabs/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithAsAttributes } from '##/utils/types/PropsWithAsAttributes';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type TabDimensions = {\n size: number;\n gap: number;\n};\n\nexport type TabsItemDefault = {\n label: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n rightSide?: React.ReactNode;\n leftSide?: React.ReactNode;\n disabled?: boolean;\n as?: keyof JSX.IntrinsicElements;\n ref?: React.RefObject<HTMLElement>;\n attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];\n\n /**\n * @deprecated since version 4.11.0 use leftIcon\n */\n icon?: IconComponent;\n};\n\nexport const tabsSizes = ['m', 's', 'xs'] as const;\nexport type TabsPropSize = typeof tabsSizes[number];\nexport const tabsDefaultSize: TabsPropSize = tabsSizes[0];\n\nexport const tabsViews = ['bordered', 'clear'] as const;\nexport type TabsPropView = typeof tabsViews[number];\nexport const tabsDefaultView: TabsPropView = tabsViews[0];\n\nexport const tabsLinePositions = ['bottom', 'top', 'left', 'right'] as const;\nexport type TabsPropLinePosition = typeof tabsLinePositions[number];\nexport const tabsDefaultLinePosition: TabsPropLinePosition = 'bottom';\n\nexport const tabsFitModes = ['scroll', 'dropdown'] as const;\nexport type TabsPropFitMode = typeof tabsFitModes[number];\nexport const tabsDefaultFitMode: TabsPropFitMode = 'dropdown';\n\nexport type TabsPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\nexport type TabsPropGetItemChecked<ITEM> = (item: ITEM) => boolean | undefined;\nexport type TabsPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type TabsPropGetItemSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type TabsPropGetItemAs<ITEM> = (\n item: ITEM,\n) => keyof JSX.IntrinsicElements | undefined;\nexport type TabsPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => TabsItemDefault['attributes'];\nexport type TabsPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLElement> | undefined;\n\nexport type TabsPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\n\nexport type TabsPropOnChange<ITEM> = (props: {\n e: React.MouseEvent;\n value: ITEM;\n}) => void;\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n label: string;\n tabRef?: React.RefObject<HTMLElement>;\n renderInDropdown?: boolean;\n} & Omit<TabsItemDefault, 'label' | 'ref'>;\n\nexport type RenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsFitModeWrapperProps<ITEM> = {\n items: ITEM[];\n tabsDimensions: TabDimensions[];\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n renderItem: (item: ITEM) => React.ReactNode;\n renderItemsList: RenderItemsListProp;\n tabRefs: Array<React.RefObject<HTMLElement>>;\n size: TabsPropSize;\n};\n\nexport type TabsProps<ITEM = TabsItemDefault> = PropsWithHTMLAttributesAndRef<\n {\n size?: TabsPropSize;\n onlyIcon?: boolean;\n view?: TabsPropView;\n iconSize?: IconPropSize;\n items: ITEM[];\n value?: ITEM | null;\n getItemLabel?: TabsPropGetItemLabel<ITEM>;\n getItemLeftIcon?: TabsPropGetItemIcon<ITEM>;\n getItemRightIcon?: TabsPropGetItemIcon<ITEM>;\n getItemLeftSide?: TabsPropGetItemSide<ITEM>;\n getItemRightSide?: TabsPropGetItemSide<ITEM>;\n getItemDisabled?: TabsPropGetItemDisabled<ITEM>;\n getItemAs?: TabsPropGetItemAs<ITEM>;\n getItemAttributes?: TabsPropGetItemAttributes<ITEM>;\n getItemRef?: TabsPropGetItemRef<ITEM>;\n children?: never;\n onChange: TabsPropOnChange<ITEM>;\n renderItem?: RenderItem<ITEM>;\n disabled?: boolean;\n\n /**\n * @deprecated since version 4.11.0 use getItemLeftIcon\n */\n getItemIcon?: TabsPropGetItemIcon<ITEM>;\n } & (\n | {\n linePosition?: Extract<TabsPropLinePosition, 'bottom' | 'top'>;\n fitMode?: 'dropdown' | 'scroll';\n }\n | {\n linePosition: Extract<TabsPropLinePosition, 'left' | 'right'>;\n fitMode?: never;\n }\n ),\n HTMLDivElement\n> &\n (ITEM extends { label: TabsItemDefault['label'] }\n ? {}\n : {\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n });\n\nexport type TabsComponent = <ITEM>(\n props: TabsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsTabProps<AS extends keyof JSX.IntrinsicElements = 'button'> =\n PropsWithAsAttributes<\n {\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n className?: string;\n label: string;\n tabRef?: React.RefObject<HTMLElement>;\n renderInDropdown?: boolean;\n } & Omit<TabsItemDefault, 'label' | 'ref' | 'attributes'>,\n AS\n >;\n\nexport type TabsTabComponent = <\n AS extends keyof JSX.IntrinsicElements = 'button',\n>(\n props: TabsTabProps<AS>,\n) => React.ReactElement | null;\n\nexport type TabsMoreItemsProps<ITEM = TabsItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n renderItem: (\n item: ITEM,\n onClick: () => void,\n renderInDropdown?: boolean,\n ) => React.ReactNode;\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n height: number;\n size: TabsPropSize;\n } & React.RefAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n\nexport type TabsMoreItemsComponent = <ITEM>(\n props: TabsMoreItemsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type RenderItemsListProp = (props: {\n withRunningLine?: boolean;\n getTabClassName?: (idx: number) => string | undefined;\n}) => React.ReactNode;\n\nexport type TabsDirection = 'horizontal' | 'vertical';\n"],"mappings":"AA6BA,MAAO,IAAMA,UAAS,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,IAAX,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,UAAS,CAAG,CAAC,UAAD,CAAa,OAAb,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,QAAD,CAAW,KAAX,CAAkB,MAAlB,CAA0B,OAA1B,CAA1B,CAEP,MAAO,IAAMC,wBAA6C,CAAG,QAAtD,CAEP,MAAO,IAAMC,aAAY,CAAG,CAAC,QAAD,CAAW,UAAX,CAArB,CAEP,MAAO,IAAMC,mBAAmC,CAAG,UAA5C"}
@@ -1 +1 @@
1
- .TagBase{--tag-base-typo-color:var(--color-control-typo-ghost);--tag-base-half-space:calc(var(--tag-base-spaсe)/2);background:var(--tag-base-bg-color);border:none;border-radius:var(--control-radius);box-shadow:inset 0 0 0 1px var(--tag-base-border-color);color:var(--tag-base-typo-color);display:inline-flex;font-family:var(--font--primary);font-size:var(--tag-base-font-size);height:var(--tag-base-height);line-height:var(--tag-base-height);overflow:hidden;padding-bottom:0;padding-left:var(--tag-base-spaсe);padding-right:var(--tag-base-spaсe);padding-top:0;position:relative;text-decoration:none;transition:box-shadow .15s ease,background .15s ease,color .15s ease}.TagBase:focus,.TagBase:focus:hover{outline:none}.TagBase_view_stroked{--tag-base-border-color:var(--color-control-bg-border-default);--tag-base-bg-color:var(--color-bg-default)}.TagBase_view_filled{--tag-base-border-color:transparent;--tag-base-bg-color:var(--color-control-bg-ghost)}.TagBase_withAction{cursor:pointer}.TagBase_withAction.TagBase_view_stroked:hover{--tag-base-border-color:var(--color-control-bg-border-default-hover)}.TagBase_withAction.TagBase_view_filled:hover{--tag-base-bg-color:var(--color-control-bg-ghost-hover);--tag-base-border-color:transparent}.TagBase_size_xs{--tag-base-height:calc(var(--space-m) + var(--space-3xs));--tag-base-spaсe:var(--space-2xs);--tag-base-font-size:var(--size-text-2xs)}.TagBase_size_s{--tag-base-height:var(--space-xl);--tag-base-spaсe:var(--space-xs);--tag-base-font-size:var(--size-text-xs)}.TagBase_size_m{--tag-base-height:calc(var(--space-2xl) - var(--space-2xs));--tag-base-spaсe:var(--space-xs);--tag-base-font-size:var(--size-text-s)}.TagBase_size_l{--tag-base-height:var(--space-2xl);--tag-base-spaсe:var(--space-s);--tag-base-font-size:var(--size-text-m)}.TagBase_withCancel{padding-right:0}.TagBase_withIcon{padding-left:0}.TagBase[class*=TagBase_group]:before{background:var(--tag-base-group-color);content:"";height:100%;left:0;position:absolute;top:0;width:2px}.TagBase_group_1{--tag-base-group-color:#e92064}.TagBase_group_2{--tag-base-group-color:#b92eff}.TagBase_group_3{--tag-base-group-color:#1160ff}.TagBase_group_4{--tag-base-group-color:#0fafff}.TagBase_group_5{--tag-base-group-color:#02e2ff}.TagBase_group_6{--tag-base-group-color:#0c6}.TagBase_group_7{--tag-base-group-color:#b4d50b}.TagBase_group_8{--tag-base-group-color:#f5b800}.TagBase_group_9{--tag-base-group-color:#f56600}.TagBase-CancelButton{align-items:center;background:transparent;border:none;color:var(--color-control-typo-ghost);cursor:pointer;display:inline-flex;height:var(--tag-base-height);opacity:.4;outline:none;padding:0 var(--tag-base-half-space) 0 var(--tag-base-half-space);transition:opacity .15s ease}.TagBase-CancelButton:hover{background:transparent;opacity:1;outline:none}.TagBase-Label{height:var(--tag-base-height);line-height:var(--tag-base-height)}.TagBase-IconWrapper{align-items:center;display:inline-flex;height:var(--tag-base-height);padding:0 var(--tag-base-half-space) 0 var(--tag-base-half-space)}
1
+ .TagBase{--tag-base-typo-color:var(--color-control-typo-ghost);--tag-base-half-space:calc(var(--tag-base-spaсe)/2);background:var(--tag-base-bg-color);border:none;border-radius:var(--control-radius);box-shadow:inset 0 0 0 1px var(--tag-base-border-color);color:var(--tag-base-typo-color);display:inline-flex;font-family:var(--font--primary);font-size:var(--tag-base-font-size);height:var(--tag-base-height);line-height:var(--tag-base-height);overflow:hidden;padding-bottom:0;padding-left:var(--tag-base-spaсe);padding-right:var(--tag-base-spaсe);padding-top:0;position:relative;text-decoration:none;transition:box-shadow .15s ease,background .15s ease,color .15s ease}.TagBase:focus,.TagBase:focus:hover{outline:none}.TagBase_view_stroked{--tag-base-border-color:var(--color-control-bg-border-default);--tag-base-bg-color:var(--color-bg-default)}.TagBase_view_filled{--tag-base-border-color:transparent;--tag-base-bg-color:var(--color-control-bg-ghost)}.TagBase_withAction{cursor:pointer}.TagBase_withAction.TagBase_view_stroked:hover{--tag-base-border-color:var(--color-control-bg-border-default-hover)}.TagBase_withAction.TagBase_view_filled:hover{--tag-base-bg-color:var(--color-control-bg-ghost-hover);--tag-base-border-color:transparent}.TagBase_size_xs{--tag-base-height:var(--space-l);--tag-base-spaсe:var(--space-2xs);--tag-base-font-size:var(--size-text-2xs)}.TagBase_size_s{--tag-base-height:var(--space-xl);--tag-base-spaсe:var(--space-xs);--tag-base-font-size:var(--size-text-xs)}.TagBase_size_m{--tag-base-height:calc(var(--space-2xl) - var(--space-2xs));--tag-base-spaсe:var(--space-xs);--tag-base-font-size:var(--size-text-s)}.TagBase_size_l{--tag-base-height:var(--space-2xl);--tag-base-spaсe:var(--space-s);--tag-base-font-size:var(--size-text-m)}.TagBase_withCancel{padding-right:0}.TagBase_withIcon{padding-left:0}.TagBase[class*=TagBase_group]:before{background:var(--tag-base-group-color);content:"";height:100%;left:0;position:absolute;top:0;width:2px}.TagBase_group_1{--tag-base-group-color:#e92064}.TagBase_group_2{--tag-base-group-color:#b92eff}.TagBase_group_3{--tag-base-group-color:#1160ff}.TagBase_group_4{--tag-base-group-color:#0fafff}.TagBase_group_5{--tag-base-group-color:#02e2ff}.TagBase_group_6{--tag-base-group-color:#0c6}.TagBase_group_7{--tag-base-group-color:#b4d50b}.TagBase_group_8{--tag-base-group-color:#f5b800}.TagBase_group_9{--tag-base-group-color:#f56600}.TagBase-CancelButton{align-items:center;background:transparent;border:none;color:var(--color-control-typo-ghost);cursor:pointer;display:inline-flex;height:var(--tag-base-height);opacity:.4;outline:none;padding:0 var(--tag-base-half-space) 0 var(--tag-base-half-space);transition:opacity .15s ease}.TagBase-CancelButton:hover{background:transparent;opacity:1;outline:none}.TagBase-Label{height:var(--tag-base-height);line-height:var(--tag-base-height)}.TagBase-IconWrapper{align-items:center;display:inline-flex;height:var(--tag-base-height);padding:0 var(--tag-base-half-space) 0 var(--tag-base-half-space)}
@@ -1 +1 @@
1
- .Text_font_primary{font-family:var(--font-primary)}.Text_font_mono{font-family:var(--font-mono)}.Text_align_center{text-align:center}.Text_align_left{text-align:left}.Text_align_right{text-align:right}.Text_cursor_pointer{cursor:pointer}.Text_decoration_underline{text-decoration:underline}.Text_display_block{display:block}.Text_display_inlineBlock{display:inline-block}.Text_display_inline{display:inline}.Text_size_2xs{font-size:var(--size-text-2xs)}.Text_size_xs{font-size:var(--size-text-xs)}.Text_size_s{font-size:var(--size-text-s)}.Text_size_m{font-size:var(--size-text-m)}.Text_size_l{font-size:var(--size-text-l)}.Text_size_xl{font-size:var(--size-text-xl)}.Text_size_2xl{font-size:var(--size-text-2xl)}.Text_size_3xl{font-size:var(--size-text-3xl)}.Text_size_4xl{font-size:var(--size-text-4xl)}.Text_size_5xl{font-size:var(--size-text-5xl)}.Text_size_6xl{font-size:var(--size-text-6xl)}.Text_lineHeight_xs{line-height:var(--line-height-text-xs)}.Text_lineHeight_2xs{line-height:var(--line-height-text-2xs)}.Text_lineHeight_s{line-height:var(--line-height-text-s)}.Text_lineHeight_m{line-height:var(--line-height-text-m)}.Text_lineHeight_l{line-height:var(--line-height-text-l)}.Text_spacing_xs{letter-spacing:.06em}.Text_spacing_s{letter-spacing:.1em}.Text_spacing_m{letter-spacing:.14em}.Text_spacing_l{letter-spacing:.2em}.Text_fontStyle_italic{font-style:italic}.Text_transform_uppercase{text-transform:uppercase}.Text_type_blockquote{border-left:var(--space-xxs) solid var(--color-bg-brand);margin-bottom:var(--space-l);margin-left:var(--space-4xl);padding-left:var(--space-m)}.Text_type_h1,.Text_type_h2,.Text_type_h3{margin:2em 0 1em}.Text_type_p{margin:0 0 .9em}.Text_type_p:not(:last-child){margin-bottom:0}.Text_view_alert{color:var(--color-typo-alert)}.Text_view_brand{color:var(--color-typo-brand)}.Text_view_ghost{color:var(--color-typo-ghost)}.Text_view_link{color:var(--color-typo-link);transition:.3s ease}.Text_view_link :hover{color:var(--color-typo-link-hover)}.Text_view_linkMinor{color:var(--color-typo-link-minor);transition:.3s ease}.Text_view_linkMinor :hover{color:var(--color-typo-link-hover)}.Text_view_primary{color:var(--color-typo-primary)}.Text_view_secondary{color:var(--color-typo-secondary)}.Text_view_success{color:var(--color-typo-success)}.Text_view_warning{color:var(--color-typo-warning)}.Text_weight_thin{font-weight:var(--font-weight-text-thin)}.Text_weight_light{font-weight:var(--font-weight-text-light)}.Text_weight_regular{font-weight:var(--font-weight-text-regular)}.Text_weight_medium{font-weight:var(--font-weight-text-medium)}.Text_weight_semibold{font-weight:var(--font-weight-text-semibold)}.Text_weight_bold{font-weight:var(--font-weight-text-bold)}.Text_weight_black{font-weight:var(--font-weight-text-black)}.Text_width_default{max-width:75ch}.Text_truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
1
+ .Text_font_primary{font-family:var(--font-primary)}.Text_font_mono{font-family:var(--font-mono)}.Text_align_center{text-align:center}.Text_align_left{text-align:left}.Text_align_right{text-align:right}.Text_cursor_pointer{cursor:pointer}.Text_decoration_underline{text-decoration:underline}.Text_display_block{display:block}.Text_display_inlineBlock{display:inline-block}.Text_display_inline{display:inline}.Text_size_2xs{font-size:var(--size-text-2xs)}.Text_size_xs{font-size:var(--size-text-xs)}.Text_size_s{font-size:var(--size-text-s)}.Text_size_m{font-size:var(--size-text-m)}.Text_size_l{font-size:var(--size-text-l)}.Text_size_xl{font-size:var(--size-text-xl)}.Text_size_2xl{font-size:var(--size-text-2xl)}.Text_size_3xl{font-size:var(--size-text-3xl)}.Text_size_4xl{font-size:var(--size-text-4xl)}.Text_size_5xl{font-size:var(--size-text-5xl)}.Text_size_6xl{font-size:var(--size-text-6xl)}.Text_lineHeight_xs{line-height:var(--line-height-text-xs)}.Text_lineHeight_2xs{line-height:var(--line-height-text-2xs)}.Text_lineHeight_s{line-height:var(--line-height-text-s)}.Text_lineHeight_m{line-height:var(--line-height-text-m)}.Text_lineHeight_l{line-height:var(--line-height-text-l)}.Text_spacing_xs{letter-spacing:.06em}.Text_spacing_s{letter-spacing:.1em}.Text_spacing_m{letter-spacing:.14em}.Text_spacing_l{letter-spacing:.2em}.Text_fontStyle_italic{font-style:italic}.Text_transform_uppercase{text-transform:uppercase}.Text_type_blockquote{border-left:var(--space-xxs) solid var(--color-bg-brand);margin-bottom:var(--space-l);margin-left:var(--space-4xl);padding-left:var(--space-m)}.Text_type_h1,.Text_type_h2,.Text_type_h3{margin:2em 0 1em}.Text_type_p{margin:0 0 .9em}.Text_type_p:not(:last-child){margin-bottom:0}.Text_view_alert{color:var(--color-typo-alert)}.Text_view_brand{color:var(--color-typo-brand)}.Text_view_ghost{color:var(--color-typo-ghost)}.Text_view_link{color:var(--color-typo-link);transition:.3s ease}.Text_view_link :hover{color:var(--color-typo-link-hover)}.Text_view_linkMinor{color:var(--color-typo-link-minor);transition:.3s ease}.Text_view_linkMinor :hover{color:var(--color-typo-link-hover)}.Text_view_primary{color:var(--color-typo-primary)}.Text_view_secondary{color:var(--color-typo-secondary)}.Text_view_success{color:var(--color-typo-success)}.Text_view_warning{color:var(--color-typo-warning)}.Text_view_system{color:var(--color-typo-system)}.Text_view_normal{color:var(--color-typo-normal)}.Text_view_caution{color:var(--color-typo-caution)}.Text_view_critical{color:var(--color-typo-critical)}.Text_weight_thin{font-weight:var(--font-weight-text-thin)}.Text_weight_light{font-weight:var(--font-weight-text-light)}.Text_weight_regular{font-weight:var(--font-weight-text-regular)}.Text_weight_medium{font-weight:var(--font-weight-text-medium)}.Text_weight_semibold{font-weight:var(--font-weight-text-semibold)}.Text_weight_bold{font-weight:var(--font-weight-text-bold)}.Text_weight_black{font-weight:var(--font-weight-text-black)}.Text_width_default{max-width:75ch}.Text_truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@@ -19,7 +19,7 @@ export declare const textPropSpacing: readonly ["xs", "s", "m", "l"];
19
19
  export declare type TextPropSpacing = typeof textPropSpacing[number];
20
20
  export declare const textPropType: readonly ["blockquote", "p", "h3", "h2", "h1"];
21
21
  export declare type TextPropType = typeof textPropType[number];
22
- export declare const textPropView: readonly ["primary", "alert", "brand", "ghost", "link", "linkMinor", "primary", "secondary", "success", "warning"];
22
+ export declare const textPropView: readonly ["primary", "secondary", "brand", "ghost", "link", "linkMinor", "system", "normal", "success", "warning", "alert", "caution", "critical"];
23
23
  export declare type TextPropView = typeof textPropView[number];
24
24
  export declare const textPropViewDefault: TextPropView;
25
25
  export declare const textPropWeight: readonly ["thin", "light", "regular", "medium", "semibold", "bold", "black"];
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","align","cursor","decoration","display","font","lineHeight","size","spacing","fontStyle","transform","type","view","weight","width","className","children","truncate"];import"./Text.css";import React from"react";import{cn}from"../../utils/bem";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";export var textPropAlign=["left","center","right"];export var textPropDisplay=["block","inlineBlock","inline"];export var textPropFont=["primary","mono"];export var textPropCursor=["pointer"];export var textPropDecoration=["underline"];export var textPropLineHeight=["2xs","xs","s","m","l"];export var textPropLineHeightDefault="m";export var textPropSize=["m","2xs","xs","s","l","xl","2xl","3xl","4xl","5xl","6xl"];export var textPropSizeDefault=textPropSize[0];export var textPropSpacing=["xs","s","m","l"];export var textPropType=["blockquote","p","h3","h2","h1"];export var textPropView=["primary","alert","brand","ghost","link","linkMinor","primary","secondary","success","warning"];export var textPropViewDefault=textPropView[0];export var textPropWeight=["thin","light","regular","medium","semibold","bold","black"];export var textPropFontStyle=["italic"];export var textPropTransform=["uppercase"];export var textPropWidth=["default"];export var cnText=cn("Text");export var Text=forwardRefWithAs(function(a,b){var c=a.as,d=void 0===c?"div":c,e=a.align,f=a.cursor,g=a.decoration,h=a.display,i=a.font,j=a.lineHeight,k=void 0===j?textPropLineHeightDefault:j,l=a.size,m=void 0===l?textPropSizeDefault:l,n=a.spacing,o=a.fontStyle,p=a.transform,q=a.type,r=a.view,s=void 0===r?textPropViewDefault:r,t=a.weight,u=a.width,v=a.className,w=a.children,x=a.truncate,y=_objectWithoutProperties(a,_excluded);return React.createElement(d,Object.assign({},y,{className:cnText({align:e,cursor:f,decoration:g,display:h,font:i,lineHeight:k,size:m,spacing:n,fontStyle:o,transform:p,type:q,view:s,weight:t,width:u,truncate:void 0!==x&&x},[v]),ref:b}),w)});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","align","cursor","decoration","display","font","lineHeight","size","spacing","fontStyle","transform","type","view","weight","width","className","children","truncate"];import"./Text.css";import React from"react";import{cn}from"../../utils/bem";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";export var textPropAlign=["left","center","right"];export var textPropDisplay=["block","inlineBlock","inline"];export var textPropFont=["primary","mono"];export var textPropCursor=["pointer"];export var textPropDecoration=["underline"];export var textPropLineHeight=["2xs","xs","s","m","l"];export var textPropLineHeightDefault="m";export var textPropSize=["m","2xs","xs","s","l","xl","2xl","3xl","4xl","5xl","6xl"];export var textPropSizeDefault=textPropSize[0];export var textPropSpacing=["xs","s","m","l"];export var textPropType=["blockquote","p","h3","h2","h1"];export var textPropView=["primary","secondary","brand","ghost","link","linkMinor","system","normal","success","warning","alert","caution","critical"];export var textPropViewDefault=textPropView[0];export var textPropWeight=["thin","light","regular","medium","semibold","bold","black"];export var textPropFontStyle=["italic"];export var textPropTransform=["uppercase"];export var textPropWidth=["default"];export var cnText=cn("Text");export var Text=forwardRefWithAs(function(a,b){var c=a.as,d=void 0===c?"div":c,e=a.align,f=a.cursor,g=a.decoration,h=a.display,i=a.font,j=a.lineHeight,k=void 0===j?textPropLineHeightDefault:j,l=a.size,m=void 0===l?textPropSizeDefault:l,n=a.spacing,o=a.fontStyle,p=a.transform,q=a.type,r=a.view,s=void 0===r?textPropViewDefault:r,t=a.weight,u=a.width,v=a.className,w=a.children,x=a.truncate,y=_objectWithoutProperties(a,_excluded);return React.createElement(d,Object.assign({},y,{className:cnText({align:e,cursor:f,decoration:g,display:h,font:i,lineHeight:k,size:m,spacing:n,fontStyle:o,transform:p,type:q,view:s,weight:t,width:u,truncate:void 0!==x&&x},[v]),ref:b}),w)});
2
2
  //# sourceMappingURL=Text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","names":["React","cn","forwardRefWithAs","textPropAlign","textPropDisplay","textPropFont","textPropCursor","textPropDecoration","textPropLineHeight","textPropLineHeightDefault","textPropSize","textPropSizeDefault","textPropSpacing","textPropType","textPropView","textPropViewDefault","textPropWeight","textPropFontStyle","textPropTransform","textPropWidth","cnText","Text","props","ref","as","align","cursor","decoration","display","font","lineHeight","size","spacing","fontStyle","transform","type","view","weight","width","className","children","truncate","otherProps"],"sources":["../../../../../src/components/Text/Text.tsx"],"sourcesContent":["import './Text.css';\n\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { forwardRefWithAs } from '../../utils/types/PropsWithAsAttributes';\n\nexport const textPropAlign = ['left', 'center', 'right'] as const;\nexport type TextPropAlign = typeof textPropAlign[number];\n\nexport const textPropDisplay = ['block', 'inlineBlock', 'inline'] as const;\nexport type TextPropDisplay = typeof textPropDisplay[number];\n\nexport const textPropFont = ['primary', 'mono'] as const;\nexport type TextPropFont = typeof textPropFont[number];\n\nexport const textPropCursor = ['pointer'] as const;\nexport type TextPropCursor = typeof textPropCursor[number];\n\nexport const textPropDecoration = ['underline'] as const;\nexport type TextPropDecoration = typeof textPropDecoration[number];\n\nexport const textPropLineHeight = ['2xs', 'xs', 's', 'm', 'l'] as const;\nexport type TextPropLineHeight = typeof textPropLineHeight[number];\nexport const textPropLineHeightDefault: TextPropLineHeight = 'm';\n\nexport const textPropSize = [\n 'm',\n '2xs',\n 'xs',\n 's',\n 'l',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n] as const;\nexport type TextPropSize = typeof textPropSize[number];\nexport const textPropSizeDefault: TextPropSize = textPropSize[0];\n\nexport const textPropSpacing = ['xs', 's', 'm', 'l'] as const;\nexport type TextPropSpacing = typeof textPropSpacing[number];\n\nexport const textPropType = ['blockquote', 'p', 'h3', 'h2', 'h1'] as const;\nexport type TextPropType = typeof textPropType[number];\n\nexport const textPropView = [\n 'primary',\n 'alert',\n 'brand',\n 'ghost',\n 'link',\n 'linkMinor',\n 'primary',\n 'secondary',\n 'success',\n 'warning',\n] as const;\nexport type TextPropView = typeof textPropView[number];\nexport const textPropViewDefault: TextPropView = textPropView[0];\n\nexport const textPropWeight = [\n 'thin',\n 'light',\n 'regular',\n 'medium',\n 'semibold',\n 'bold',\n 'black',\n] as const;\nexport type TextPropWeight = typeof textPropWeight[number];\n\nexport const textPropFontStyle = ['italic'] as const;\nexport type TextPropFontStyle = typeof textPropFontStyle[number];\n\nexport const textPropTransform = ['uppercase'] as const;\nexport type TextPropTransform = typeof textPropTransform[number];\n\nexport const textPropWidth = ['default'] as const;\nexport type TextPropWidth = typeof textPropWidth[number];\n\nexport type TextProps = {\n align?: TextPropAlign;\n cursor?: TextPropCursor;\n decoration?: TextPropDecoration;\n display?: TextPropDisplay;\n font?: TextPropFont;\n lineHeight?: TextPropLineHeight;\n size?: TextPropSize;\n spacing?: TextPropSpacing;\n fontStyle?: TextPropFontStyle;\n transform?: TextPropTransform;\n type?: TextPropType;\n view?: TextPropView;\n weight?: TextPropWeight;\n width?: TextPropWidth;\n truncate?: boolean;\n};\n\nexport const cnText = cn('Text');\n\nexport const Text = forwardRefWithAs<TextProps>((props, ref) => {\n const {\n as = 'div',\n align,\n cursor,\n decoration,\n display,\n font,\n lineHeight = textPropLineHeightDefault,\n size = textPropSizeDefault,\n spacing,\n fontStyle,\n transform,\n type,\n view = textPropViewDefault,\n weight,\n width,\n className,\n children,\n truncate = false,\n ...otherProps\n } = props;\n\n const Tag = as as string;\n\n return (\n <Tag\n {...otherProps}\n className={cnText(\n {\n align,\n cursor,\n decoration,\n display,\n font,\n lineHeight,\n size,\n spacing,\n fontStyle,\n transform,\n type,\n view,\n weight,\n width,\n truncate,\n },\n [className],\n )}\n ref={ref}\n >\n {children}\n </Tag>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Text.js","names":["React","cn","forwardRefWithAs","textPropAlign","textPropDisplay","textPropFont","textPropCursor","textPropDecoration","textPropLineHeight","textPropLineHeightDefault","textPropSize","textPropSizeDefault","textPropSpacing","textPropType","textPropView","textPropViewDefault","textPropWeight","textPropFontStyle","textPropTransform","textPropWidth","cnText","Text","props","ref","as","align","cursor","decoration","display","font","lineHeight","size","spacing","fontStyle","transform","type","view","weight","width","className","children","truncate","otherProps"],"sources":["../../../../../src/components/Text/Text.tsx"],"sourcesContent":["import './Text.css';\n\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { forwardRefWithAs } from '../../utils/types/PropsWithAsAttributes';\n\nexport const textPropAlign = ['left', 'center', 'right'] as const;\nexport type TextPropAlign = typeof textPropAlign[number];\n\nexport const textPropDisplay = ['block', 'inlineBlock', 'inline'] as const;\nexport type TextPropDisplay = typeof textPropDisplay[number];\n\nexport const textPropFont = ['primary', 'mono'] as const;\nexport type TextPropFont = typeof textPropFont[number];\n\nexport const textPropCursor = ['pointer'] as const;\nexport type TextPropCursor = typeof textPropCursor[number];\n\nexport const textPropDecoration = ['underline'] as const;\nexport type TextPropDecoration = typeof textPropDecoration[number];\n\nexport const textPropLineHeight = ['2xs', 'xs', 's', 'm', 'l'] as const;\nexport type TextPropLineHeight = typeof textPropLineHeight[number];\nexport const textPropLineHeightDefault: TextPropLineHeight = 'm';\n\nexport const textPropSize = [\n 'm',\n '2xs',\n 'xs',\n 's',\n 'l',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n] as const;\nexport type TextPropSize = typeof textPropSize[number];\nexport const textPropSizeDefault: TextPropSize = textPropSize[0];\n\nexport const textPropSpacing = ['xs', 's', 'm', 'l'] as const;\nexport type TextPropSpacing = typeof textPropSpacing[number];\n\nexport const textPropType = ['blockquote', 'p', 'h3', 'h2', 'h1'] as const;\nexport type TextPropType = typeof textPropType[number];\n\nexport const textPropView = [\n 'primary',\n 'secondary',\n 'brand',\n 'ghost',\n 'link',\n 'linkMinor',\n 'system',\n 'normal',\n 'success',\n 'warning',\n 'alert',\n 'caution',\n 'critical',\n] as const;\nexport type TextPropView = typeof textPropView[number];\nexport const textPropViewDefault: TextPropView = textPropView[0];\n\nexport const textPropWeight = [\n 'thin',\n 'light',\n 'regular',\n 'medium',\n 'semibold',\n 'bold',\n 'black',\n] as const;\nexport type TextPropWeight = typeof textPropWeight[number];\n\nexport const textPropFontStyle = ['italic'] as const;\nexport type TextPropFontStyle = typeof textPropFontStyle[number];\n\nexport const textPropTransform = ['uppercase'] as const;\nexport type TextPropTransform = typeof textPropTransform[number];\n\nexport const textPropWidth = ['default'] as const;\nexport type TextPropWidth = typeof textPropWidth[number];\n\nexport type TextProps = {\n align?: TextPropAlign;\n cursor?: TextPropCursor;\n decoration?: TextPropDecoration;\n display?: TextPropDisplay;\n font?: TextPropFont;\n lineHeight?: TextPropLineHeight;\n size?: TextPropSize;\n spacing?: TextPropSpacing;\n fontStyle?: TextPropFontStyle;\n transform?: TextPropTransform;\n type?: TextPropType;\n view?: TextPropView;\n weight?: TextPropWeight;\n width?: TextPropWidth;\n truncate?: boolean;\n};\n\nexport const cnText = cn('Text');\n\nexport const Text = forwardRefWithAs<TextProps>((props, ref) => {\n const {\n as = 'div',\n align,\n cursor,\n decoration,\n display,\n font,\n lineHeight = textPropLineHeightDefault,\n size = textPropSizeDefault,\n spacing,\n fontStyle,\n transform,\n type,\n view = textPropViewDefault,\n weight,\n width,\n className,\n children,\n truncate = false,\n ...otherProps\n } = props;\n\n const Tag = as as string;\n\n return (\n <Tag\n {...otherProps}\n className={cnText(\n {\n align,\n cursor,\n decoration,\n display,\n font,\n lineHeight,\n size,\n spacing,\n fontStyle,\n transform,\n type,\n view,\n weight,\n width,\n truncate,\n },\n [className],\n )}\n ref={ref}\n >\n {children}\n </Tag>\n );\n});\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","type","value","onChange","id","name","rows","cols","minRows","maxRows","inputRef","maxLength","disabled","size","view","form","state","status","width","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSize","focused","onClick","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture"];import"./TextField.css";import{IconClose}from"@consta/icons/IconClose";import{IconEye}from"@consta/icons/IconEye";import{IconEyeClose}from"@consta/icons/IconEyeClose";import{IconSelect}from"@consta/icons/IconSelect";import{IconSelectOpen}from"@consta/icons/IconSelectOpen";import React,{forwardRef,useCallback,useEffect}from"react";import TextAreaAutoSize from"react-textarea-autosize";import{useFlag}from"../../hooks/useFlag/useFlag";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef/useMutableRef";import{useSortSteps}from"../../hooks/useSortSteps/useSortSteps";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{isString}from"../../utils/type-guards";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{FieldCaption}from"../FieldCaption/FieldCaption";import{FieldLabel}from"../FieldLabel/FieldLabel";import{getIncrementFlag,getTypeForRender,getValueByStep,sizeMap}from"./helpers";import{textFieldPropFormDefault,textFieldPropSizeDefault,textFieldPropViewDefault,textFieldPropWidthDefault}from"./types";export var COMPONENT_NAME="TextField";export var cnTextField=cn("TextField");export var TextFieldRender=function(a,b){var c=React.useRef(null),d=React.useRef(null),e=usePropsHandler(COMPONENT_NAME,a,c),f=e.className,g=e.type,h=void 0===g?"text":g,i=e.value,j=e.onChange,k=e.id,l=e.name,m=e.rows,n=e.cols,o=e.minRows,p=e.maxRows,q=e.inputRef,r=e.maxLength,s=e.disabled,t=e.size,u=void 0===t?textFieldPropSizeDefault:t,v=e.view,w=void 0===v?textFieldPropViewDefault:v,x=e.form,y=void 0===x?textFieldPropFormDefault:x,z=e.state,A=e.status,B=e.width,C=void 0===B?textFieldPropWidthDefault:B,D=e.onBlur,E=e.onFocus,F=e.autoFocus,G=void 0!==F&&F,H=e.placeholder,I=e.leftSide,J=e.rightSide,K=e.autoComplete,L=e.withClearButton,M=e.incrementButtons,N=e.max,O=e.min,P=e.readOnly,Q=e.required,R=e.step,S=void 0===R?1:R,T=e.tabIndex,U=e.ariaLabel,V=e.label,W=e.labelIcon,X=e.inputContainerRef,Y=e.labelPosition,Z=void 0===Y?"top":Y,$=e.caption,_=e.iconSize,aa=e.focused,ba=e.onClick,ca=e.onKeyDown,da=e.onKeyDownCapture,ea=e.onKeyPress,fa=e.onKeyPressCapture,ga=e.onKeyUp,ha=e.onKeyUpCapture,ia=_objectWithoutProperties(e,_excluded),ja=useFlag(G),ka=_slicedToArray(ja,2),la=ka[0],ma=ka[1],na=useFlag(!1),oa=_slicedToArray(na,2),pa=oa[0],qa=oa[1],ra=useMutableRef(i),sa=useMutableRef(ba),ta=useMutableRef(j),ua=useCallback(function(a){var b;a.stopPropagation(),qa.toggle(),null===(b=d.current)||void 0===b?void 0:b.focus()},[]),va=I,wa=J,xa=isString(I),ya=isString(J),za=getByMap(sizeMap,u,_),Aa=useSortSteps({step:S,min:+O,max:+N}),Ba=useCallback(function(a){var b;s||(null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:a.target.value||null}))},[k,l,s]),Ca=function(a){ma.on(),null===E||void 0===E?void 0:E(a)},Da={className:cnTextField("Input"),value:i||"",onChange:Ba,maxLength:r,disabled:s,onBlur:function handleBlur(a){ma.off(),null===D||void 0===D?void 0:D(a)},onFocus:Ca,autoFocus:G,placeholder:H,autoComplete:K,readOnly:P,tabIndex:T,name:l,onKeyDownCapture:da,onKeyPress:ea,onKeyPressCapture:fa,onKeyUp:ga,onKeyUpCapture:ha,id:k?k.toString():"","aria-label":U},Ea=pa?IconEyeClose:IconEye,Fa={rows:m,cols:n,minRows:o||m,maxRows:p||m,ref:useForkRef([d,q])},Ga={type:getTypeForRender(h,pa),max:N,min:O,step:Array.isArray(Aa)?0:Aa,onKeyDown:function onKeyDown(a){var b=getIncrementFlag(a);null===ca||void 0===ca?void 0:ca(a),"number"!==h||"boolean"!=typeof b||s||(a.preventDefault(),null===j||void 0===j?void 0:j({e:a,value:getValueByStep(Aa,i,b,O,N)}))},ref:useForkRef([d,q])},Ha=useCallback(function(a){var b;null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,value:null})},[]),Ia=function(a){var b=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];null===j||void 0===j?void 0:j({e:a,value:getValueByStep(Aa,i,b,O,N)})},Ja={onClick:useCallback(function(a){var b,c;null===(b=d.current)||void 0===b?void 0:b.focus(),null===(c=sa.current)||void 0===c?void 0:c.call(sa,a)},[])};return useEffect(function(){if("password"===h&&d.current){var a;d.current.selectionStart=(null===(a=ra.current)||void 0===a?void 0:a.length)||0}},[pa]),React.createElement("div",Object.assign({className:cnTextField({labelPosition:Z,size:u,view:w,width:C},[f]),ref:useForkRef([b,c])},Ja,ia),V&&React.createElement(FieldLabel,{icon:W,required:Q,className:cnTextField("Label",{labelPosition:Z}),size:u},V),React.createElement("div",{className:cnTextField("Body")},React.createElement("div",{ref:X,className:cnTextField("InputContainer",{view:w,form:y,status:A||z,disabled:s,type:h,focus:la||aa,withValue:!!i})},va&&React.createElement("div",{className:cnTextField("Side",{position:"left",type:xa?"string":"icon"}),title:"string"==typeof I?I:void 0},xa?I:React.createElement(va,{className:cnTextField("Icon"),size:za})),"textarea"===h?React.createElement(TextAreaAutoSize,Object.assign({},Da,Fa)):React.createElement("input",Object.assign({},Da,Ga)),"number"===h&&(void 0===M||M)&&React.createElement("div",{className:cnTextField("Counter")},React.createElement("button",{onFocus:Ca,onClick:function(a){return Ia(a,!0)},type:"button",className:cnTextField("CounterButton")},React.createElement(IconSelectOpen,{size:"xs"})),React.createElement("button",{onFocus:Ca,onClick:function(a){return Ia(a,!1)},type:"button",className:cnTextField("CounterButton")},React.createElement(IconSelect,{size:"xs"}))),i&&L&&"number"!==h&&React.createElement("button",{type:"button",disabled:s,onClick:Ha,className:cnTextField("ClearButton")},React.createElement(IconClose,{size:"xs",className:cnTextField("ClearButtonIcon")})),"password"===h&&i&&React.createElement("button",{className:cnTextField("ClearButton"),type:"button",onClick:ua},React.createElement(Ea,{className:cnTextField("Icon"),size:za})),wa&&"number"!==h&&"password"!==h&&React.createElement("div",{className:cnTextField("Side",{position:"right",type:ya?"string":"icon"}),title:"string"==typeof J?J:void 0},ya?J:React.createElement(wa,{className:cnTextField("Icon"),size:za}))),$&&React.createElement(FieldCaption,{className:cnTextField("Caption"),status:A||z},$)))};export var TextField=forwardRef(TextFieldRender);export*from"./types";
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","type","value","onChange","id","name","rows","cols","minRows","maxRows","inputRef","maxLength","disabled","size","view","form","state","status","width","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSize","focused","onClick","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture"];import"./TextField.css";import{IconClose}from"@consta/icons/IconClose";import{IconEye}from"@consta/icons/IconEye";import{IconEyeClose}from"@consta/icons/IconEyeClose";import{IconSelect}from"@consta/icons/IconSelect";import{IconSelectOpen}from"@consta/icons/IconSelectOpen";import React,{forwardRef,useCallback,useEffect}from"react";import TextAreaAutoSize from"react-textarea-autosize";import{useFlag}from"../../hooks/useFlag/useFlag";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef/useMutableRef";import{useSortSteps}from"../../hooks/useSortSteps/useSortSteps";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{isString}from"../../utils/type-guards";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{FieldCaption}from"../FieldCaption/FieldCaption";import{FieldLabel}from"../FieldLabel/FieldLabel";import{getIncrementFlag,getTypeForRender,getValueByStep,sizeMap}from"./helpers";import{textFieldPropFormDefault,textFieldPropSizeDefault,textFieldPropViewDefault,textFieldPropWidthDefault}from"./types";export var COMPONENT_NAME="TextField";export var cnTextField=cn("TextField");export var TextFieldRender=function(a,b){var c=React.useRef(null),d=React.useRef(null),e=usePropsHandler(COMPONENT_NAME,a,c),f=e.className,g=e.type,h=void 0===g?"text":g,i=e.value,j=e.onChange,k=e.id,l=e.name,m=e.rows,n=e.cols,o=e.minRows,p=e.maxRows,q=e.inputRef,r=e.maxLength,s=e.disabled,t=e.size,u=void 0===t?textFieldPropSizeDefault:t,v=e.view,w=void 0===v?textFieldPropViewDefault:v,x=e.form,y=void 0===x?textFieldPropFormDefault:x,z=e.state,A=e.status,B=e.width,C=void 0===B?textFieldPropWidthDefault:B,D=e.onBlur,E=e.onFocus,F=e.autoFocus,G=void 0!==F&&F,H=e.placeholder,I=e.leftSide,J=e.rightSide,K=e.autoComplete,L=e.withClearButton,M=e.incrementButtons,N=e.max,O=e.min,P=e.readOnly,Q=e.required,R=e.step,S=void 0===R?1:R,T=e.tabIndex,U=e.ariaLabel,V=e.label,W=e.labelIcon,X=e.inputContainerRef,Y=e.labelPosition,Z=void 0===Y?"top":Y,$=e.caption,_=e.iconSize,aa=e.focused,ba=e.onClick,ca=e.onKeyDown,da=e.onKeyDownCapture,ea=e.onKeyPress,fa=e.onKeyPressCapture,ga=e.onKeyUp,ha=e.onKeyUpCapture,ia=_objectWithoutProperties(e,_excluded),ja=useFlag(G),ka=_slicedToArray(ja,2),la=ka[0],ma=ka[1],na=useFlag(!1),oa=_slicedToArray(na,2),pa=oa[0],qa=oa[1],ra=useMutableRef(i),sa=useMutableRef(ba),ta=useMutableRef(j),ua=useCallback(function(a){var b;a.stopPropagation(),qa.toggle(),null===(b=d.current)||void 0===b?void 0:b.focus()},[]),va=I,wa=J,xa=isString(I),ya=isString(J),za=getByMap(sizeMap,u,_),Aa=useSortSteps({step:S,min:+O,max:+N}),Ba=useCallback(function(a){var b;s||(null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:a.target.value||null}))},[k,l,s]),Ca=function(a){ma.on(),null===E||void 0===E?void 0:E(a)},Da={className:cnTextField("Input"),value:i||"",onChange:Ba,maxLength:r,disabled:s,onBlur:function handleBlur(a){ma.off(),null===D||void 0===D?void 0:D(a)},onFocus:Ca,autoFocus:G,placeholder:H,autoComplete:K,readOnly:P,tabIndex:T,name:l,onKeyDownCapture:da,onKeyPress:ea,onKeyPressCapture:fa,onKeyUp:ga,onKeyUpCapture:ha,id:k?k.toString():"","aria-label":U},Ea=pa?IconEyeClose:IconEye,Fa={rows:m,cols:n,minRows:o||m,maxRows:p||m,ref:useForkRef([d,q])},Ga={type:getTypeForRender(h,pa),max:N,min:O,step:Array.isArray(Aa)?0:Aa,onKeyDown:function onKeyDown(a){var b=getIncrementFlag(a);if(null===ca||void 0===ca?void 0:ca(a),"number"===h&&"boolean"==typeof b&&!s){var c;a.preventDefault(),null===(c=ta.current)||void 0===c?void 0:c.call(ta,{e:a,id:k,name:l,value:getValueByStep(Aa,i,b,O,N)})}},ref:useForkRef([d,q])},Ha=useCallback(function(a){var b;null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:null})},[]),Ia=function(a){var b,c=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:getValueByStep(Aa,i,c,O,N)})},Ja={onClick:useCallback(function(a){var b,c;null===(b=d.current)||void 0===b?void 0:b.focus(),null===(c=sa.current)||void 0===c?void 0:c.call(sa,a)},[])};return useEffect(function(){if("password"===h&&d.current){var a;d.current.selectionStart=(null===(a=ra.current)||void 0===a?void 0:a.length)||0}},[pa]),React.createElement("div",Object.assign({className:cnTextField({labelPosition:Z,size:u,view:w,width:C},[f]),ref:useForkRef([b,c])},Ja,ia),V&&React.createElement(FieldLabel,{as:"label",htmlFor:null===k||void 0===k?void 0:k.toString(),icon:W,required:Q,className:cnTextField("Label",{labelPosition:Z}),size:u},V),React.createElement("div",{className:cnTextField("Body")},React.createElement("div",{ref:X,className:cnTextField("InputContainer",{view:w,form:y,status:A||z,disabled:s,type:h,focus:la||aa,withValue:!!i})},va&&React.createElement("div",{className:cnTextField("Side",{position:"left",type:xa?"string":"icon"}),title:"string"==typeof I?I:void 0},xa?I:React.createElement(va,{className:cnTextField("Icon"),size:za})),"textarea"===h?React.createElement(TextAreaAutoSize,Object.assign({},Da,Fa)):React.createElement("input",Object.assign({},Da,Ga)),"number"===h&&(void 0===M||M)&&React.createElement("div",{className:cnTextField("Counter")},React.createElement("button",{onFocus:Ca,onClick:function(a){return Ia(a,!0)},type:"button",className:cnTextField("CounterButton")},React.createElement(IconSelectOpen,{size:"xs"})),React.createElement("button",{onFocus:Ca,onClick:function(a){return Ia(a,!1)},type:"button",className:cnTextField("CounterButton")},React.createElement(IconSelect,{size:"xs"}))),i&&L&&"number"!==h&&React.createElement("button",{type:"button",disabled:s,onClick:Ha,className:cnTextField("ClearButton")},React.createElement(IconClose,{size:"xs",className:cnTextField("ClearButtonIcon")})),"password"===h&&i&&React.createElement("button",{className:cnTextField("ClearButton"),type:"button",onClick:ua},React.createElement(Ea,{className:cnTextField("Icon"),size:za})),wa&&"number"!==h&&"password"!==h&&React.createElement("div",{className:cnTextField("Side",{position:"right",type:ya?"string":"icon"}),title:"string"==typeof J?J:void 0},ya?J:React.createElement(wa,{className:cnTextField("Icon"),size:za}))),$&&React.createElement(FieldCaption,{className:cnTextField("Caption"),status:A||z},$)))};export var TextField=forwardRef(TextFieldRender);export*from"./types";
2
2
  //# sourceMappingURL=TextField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","names":["IconClose","IconEye","IconEyeClose","IconSelect","IconSelectOpen","React","forwardRef","useCallback","useEffect","TextAreaAutoSize","useFlag","useForkRef","useMutableRef","useSortSteps","cn","getByMap","isString","usePropsHandler","FieldCaption","FieldLabel","getIncrementFlag","getTypeForRender","getValueByStep","sizeMap","textFieldPropFormDefault","textFieldPropSizeDefault","textFieldPropViewDefault","textFieldPropWidthDefault","COMPONENT_NAME","cnTextField","TextFieldRender","props","ref","textFieldRef","useRef","inputRef","className","type","value","onChange","id","name","rows","cols","minRows","maxRows","inputRefProp","maxLength","disabled","size","view","form","state","status","width","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSizeProp","iconSize","focused","onClick","onKeyDownProp","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","otherProps","focus","setFocus","passwordVisible","setPasswordVisuble","valueRef","onClickRef","onChangeRef","handleEyeClick","e","stopPropagation","toggle","current","LeftIcon","RightIcon","leftSideIsString","rightSideIsString","sortedSteps","handleChange","target","handleFocus","on","commonProps","handleBlur","off","toString","Eye","textareaProps","inputProps","Array","isArray","flag","preventDefault","handleClear","changeNumberValue","isIncrement","rootProps","selectionStart","length","withValue","position","TextField"],"sources":["../../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import './TextField.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconEye } from '@consta/icons/IconEye';\nimport { IconEyeClose } from '@consta/icons/IconEyeClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport { IconSelectOpen } from '@consta/icons/IconSelectOpen';\nimport React, { forwardRef, useCallback, useEffect } from 'react';\nimport TextAreaAutoSize from 'react-textarea-autosize';\n\nimport { useFlag } from '../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useMutableRef } from '../../hooks/useMutableRef/useMutableRef';\nimport { useSortSteps } from '../../hooks/useSortSteps/useSortSteps';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { isString } from '../../utils/type-guards';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { FieldCaption } from '../FieldCaption/FieldCaption';\nimport { FieldLabel } from '../FieldLabel/FieldLabel';\nimport {\n getIncrementFlag,\n getTypeForRender,\n getValueByStep,\n sizeMap,\n} from './helpers';\nimport {\n TextFieldComponent,\n textFieldPropFormDefault,\n TextFieldProps,\n textFieldPropSizeDefault,\n textFieldPropViewDefault,\n textFieldPropWidthDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'TextField' as const;\nexport const cnTextField = cn(COMPONENT_NAME);\n\nexport const TextFieldRender = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const textFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\n const {\n className,\n type = 'text',\n value,\n onChange,\n id,\n name,\n rows,\n cols,\n minRows,\n maxRows,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = textFieldPropSizeDefault,\n view = textFieldPropViewDefault,\n form = textFieldPropFormDefault,\n state,\n status,\n width = textFieldPropWidthDefault,\n onBlur,\n onFocus,\n autoFocus = false,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n incrementButtons = true,\n max,\n min,\n readOnly,\n required,\n step = 1,\n tabIndex,\n ariaLabel,\n label,\n labelIcon,\n inputContainerRef,\n labelPosition = 'top',\n caption,\n iconSize: iconSizeProp,\n focused,\n onClick,\n // onkey props\n onKeyDown: onKeyDownProp,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, textFieldRef);\n const [focus, setFocus] = useFlag(autoFocus);\n const [passwordVisible, setPasswordVisuble] = useFlag(false);\n\n const valueRef = useMutableRef(value);\n const onClickRef = useMutableRef(onClick);\n const onChangeRef = useMutableRef(onChange);\n\n const handleEyeClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n e.stopPropagation();\n setPasswordVisuble.toggle();\n inputRef.current?.focus();\n },\n [],\n );\n\n const textarea = type === 'textarea';\n const LeftIcon = leftSide;\n const RightIcon = rightSide;\n const leftSideIsString = isString(leftSide);\n const rightSideIsString = isString(rightSide);\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n const sortedSteps = useSortSteps({\n step,\n min: Number(min),\n max: Number(max),\n });\n\n const handleChange: React.ChangeEventHandler<\n HTMLInputElement | HTMLTextAreaElement\n > = useCallback(\n (e) => {\n !disabled &&\n onChangeRef.current?.({ e, id, name, value: e.target.value || null });\n },\n [id, name, disabled],\n );\n\n const handleBlur: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.off();\n onBlur?.(e);\n };\n\n const handleFocus: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.on();\n onFocus?.(e);\n };\n\n const commonProps = {\n 'className': cnTextField('Input'),\n 'value': value || '',\n 'onChange': handleChange,\n maxLength,\n disabled,\n 'onBlur': handleBlur,\n 'onFocus': handleFocus,\n autoFocus,\n placeholder,\n autoComplete,\n readOnly,\n tabIndex,\n name,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n 'id': id ? id.toString() : '',\n 'aria-label': ariaLabel,\n };\n\n const Eye = passwordVisible ? IconEyeClose : IconEye;\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const flag = getIncrementFlag(e);\n onKeyDownProp?.(e);\n if (type === 'number' && typeof flag === 'boolean' && !disabled) {\n e.preventDefault();\n onChange?.({\n e,\n value: getValueByStep(sortedSteps, value, flag, min, max),\n });\n }\n };\n\n const textareaProps = {\n rows,\n cols,\n minRows: minRows || rows,\n maxRows: maxRows || rows,\n ref: useForkRef([inputRef, inputRefProp]) as (\n node: HTMLTextAreaElement,\n ) => void,\n };\n\n const inputProps = {\n type: getTypeForRender(type, passwordVisible),\n max,\n min,\n step: !Array.isArray(sortedSteps) ? sortedSteps : 0,\n onKeyDown,\n ref: useForkRef([\n inputRef,\n inputRefProp,\n ]) as React.RefCallback<HTMLInputElement>,\n };\n\n const handleClear = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n onChangeRef.current?.({\n e,\n value: null,\n });\n }, []);\n\n const changeNumberValue = (\n e: React.MouseEvent<HTMLButtonElement>,\n isIncrement = true,\n ) => {\n onChange?.({\n e,\n value: getValueByStep(sortedSteps, value, isIncrement, min, max),\n });\n };\n\n const rootProps = {\n onClick: useCallback((e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n inputRef.current?.focus();\n onClickRef.current?.(e);\n }, []),\n };\n\n // при смене passwordVible, перемещаем курсор в конец строки\n useEffect(() => {\n if (type === 'password' && inputRef.current) {\n inputRef.current.selectionStart = valueRef.current?.length || 0;\n }\n }, [passwordVisible]);\n\n return (\n <div\n className={cnTextField({ labelPosition, size, view, width }, [className])}\n ref={useForkRef([ref, textFieldRef])}\n {...rootProps}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n icon={labelIcon}\n required={required}\n className={cnTextField('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnTextField('Body')}>\n <div\n ref={inputContainerRef}\n className={cnTextField('InputContainer', {\n view,\n form,\n status: status || state,\n disabled,\n type,\n focus: focus || focused,\n withValue: !!value,\n })}\n >\n {LeftIcon && (\n <div\n className={cnTextField('Side', {\n position: 'left',\n type: leftSideIsString ? 'string' : 'icon',\n })}\n title={typeof leftSide === 'string' ? leftSide : undefined}\n >\n {leftSideIsString ? (\n leftSide\n ) : (\n <LeftIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n {textarea ? (\n <TextAreaAutoSize {...commonProps} {...textareaProps} />\n ) : (\n <input {...commonProps} {...inputProps} />\n )}\n\n {type === 'number' && incrementButtons && (\n <div className={cnTextField('Counter')}>\n <button\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, true)}\n type=\"button\"\n className={cnTextField('CounterButton')}\n >\n <IconSelectOpen size=\"xs\" />\n </button>\n <button\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, false)}\n type=\"button\"\n className={cnTextField('CounterButton')}\n >\n <IconSelect size=\"xs\" />\n </button>\n </div>\n )}\n\n {value && withClearButton && type !== 'number' && (\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleClear}\n className={cnTextField('ClearButton')}\n >\n <IconClose size=\"xs\" className={cnTextField('ClearButtonIcon')} />\n </button>\n )}\n\n {type === 'password' && value && (\n <button\n className={cnTextField('ClearButton')}\n type=\"button\"\n onClick={handleEyeClick}\n >\n <Eye className={cnTextField('Icon')} size={iconSize} />\n </button>\n )}\n\n {RightIcon && type !== 'number' && type !== 'password' && (\n <div\n className={cnTextField('Side', {\n position: 'right',\n type: rightSideIsString ? 'string' : 'icon',\n })}\n title={typeof rightSide === 'string' ? rightSide : undefined}\n >\n {rightSideIsString ? (\n rightSide\n ) : (\n <RightIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n </div>\n {caption && (\n <FieldCaption\n className={cnTextField('Caption')}\n status={status || state}\n >\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n};\n\nexport const TextField = forwardRef(TextFieldRender) as TextFieldComponent;\nexport * from './types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.js","names":["IconClose","IconEye","IconEyeClose","IconSelect","IconSelectOpen","React","forwardRef","useCallback","useEffect","TextAreaAutoSize","useFlag","useForkRef","useMutableRef","useSortSteps","cn","getByMap","isString","usePropsHandler","FieldCaption","FieldLabel","getIncrementFlag","getTypeForRender","getValueByStep","sizeMap","textFieldPropFormDefault","textFieldPropSizeDefault","textFieldPropViewDefault","textFieldPropWidthDefault","COMPONENT_NAME","cnTextField","TextFieldRender","props","ref","textFieldRef","useRef","inputRef","className","type","value","onChange","id","name","rows","cols","minRows","maxRows","inputRefProp","maxLength","disabled","size","view","form","state","status","width","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSizeProp","iconSize","focused","onClick","onKeyDownProp","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","otherProps","focus","setFocus","passwordVisible","setPasswordVisuble","valueRef","onClickRef","onChangeRef","handleEyeClick","e","stopPropagation","toggle","current","LeftIcon","RightIcon","leftSideIsString","rightSideIsString","sortedSteps","handleChange","target","handleFocus","on","commonProps","handleBlur","off","toString","Eye","textareaProps","inputProps","Array","isArray","flag","preventDefault","handleClear","changeNumberValue","isIncrement","rootProps","selectionStart","length","withValue","position","TextField"],"sources":["../../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import './TextField.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconEye } from '@consta/icons/IconEye';\nimport { IconEyeClose } from '@consta/icons/IconEyeClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport { IconSelectOpen } from '@consta/icons/IconSelectOpen';\nimport React, { forwardRef, useCallback, useEffect } from 'react';\nimport TextAreaAutoSize from 'react-textarea-autosize';\n\nimport { useFlag } from '../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useMutableRef } from '../../hooks/useMutableRef/useMutableRef';\nimport { useSortSteps } from '../../hooks/useSortSteps/useSortSteps';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { isString } from '../../utils/type-guards';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { FieldCaption } from '../FieldCaption/FieldCaption';\nimport { FieldLabel } from '../FieldLabel/FieldLabel';\nimport {\n getIncrementFlag,\n getTypeForRender,\n getValueByStep,\n sizeMap,\n} from './helpers';\nimport {\n TextFieldComponent,\n textFieldPropFormDefault,\n TextFieldProps,\n textFieldPropSizeDefault,\n textFieldPropViewDefault,\n textFieldPropWidthDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'TextField' as const;\nexport const cnTextField = cn(COMPONENT_NAME);\n\nexport const TextFieldRender = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const textFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\n const {\n className,\n type = 'text',\n value,\n onChange,\n id,\n name,\n rows,\n cols,\n minRows,\n maxRows,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = textFieldPropSizeDefault,\n view = textFieldPropViewDefault,\n form = textFieldPropFormDefault,\n state,\n status,\n width = textFieldPropWidthDefault,\n onBlur,\n onFocus,\n autoFocus = false,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n incrementButtons = true,\n max,\n min,\n readOnly,\n required,\n step = 1,\n tabIndex,\n ariaLabel,\n label,\n labelIcon,\n inputContainerRef,\n labelPosition = 'top',\n caption,\n iconSize: iconSizeProp,\n focused,\n onClick,\n // onkey props\n onKeyDown: onKeyDownProp,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, textFieldRef);\n const [focus, setFocus] = useFlag(autoFocus);\n const [passwordVisible, setPasswordVisuble] = useFlag(false);\n\n const valueRef = useMutableRef(value);\n const onClickRef = useMutableRef(onClick);\n const onChangeRef = useMutableRef(onChange);\n\n const handleEyeClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n e.stopPropagation();\n setPasswordVisuble.toggle();\n inputRef.current?.focus();\n },\n [],\n );\n\n const textarea = type === 'textarea';\n const LeftIcon = leftSide;\n const RightIcon = rightSide;\n const leftSideIsString = isString(leftSide);\n const rightSideIsString = isString(rightSide);\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n const sortedSteps = useSortSteps({\n step,\n min: Number(min),\n max: Number(max),\n });\n\n const handleChange: React.ChangeEventHandler<\n HTMLInputElement | HTMLTextAreaElement\n > = useCallback(\n (e) => {\n !disabled &&\n onChangeRef.current?.({ e, id, name, value: e.target.value || null });\n },\n [id, name, disabled],\n );\n\n const handleBlur: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.off();\n onBlur?.(e);\n };\n\n const handleFocus: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.on();\n onFocus?.(e);\n };\n\n const commonProps = {\n 'className': cnTextField('Input'),\n 'value': value || '',\n 'onChange': handleChange,\n maxLength,\n disabled,\n 'onBlur': handleBlur,\n 'onFocus': handleFocus,\n autoFocus,\n placeholder,\n autoComplete,\n readOnly,\n tabIndex,\n name,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n 'id': id ? id.toString() : '',\n 'aria-label': ariaLabel,\n };\n\n const Eye = passwordVisible ? IconEyeClose : IconEye;\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const flag = getIncrementFlag(e);\n onKeyDownProp?.(e);\n if (type === 'number' && typeof flag === 'boolean' && !disabled) {\n e.preventDefault();\n onChangeRef.current?.({\n e,\n id,\n name,\n value: getValueByStep(sortedSteps, value, flag, min, max),\n });\n }\n };\n\n const textareaProps = {\n rows,\n cols,\n minRows: minRows || rows,\n maxRows: maxRows || rows,\n ref: useForkRef([inputRef, inputRefProp]) as (\n node: HTMLTextAreaElement,\n ) => void,\n };\n\n const inputProps = {\n type: getTypeForRender(type, passwordVisible),\n max,\n min,\n step: !Array.isArray(sortedSteps) ? sortedSteps : 0,\n onKeyDown,\n ref: useForkRef([\n inputRef,\n inputRefProp,\n ]) as React.RefCallback<HTMLInputElement>,\n };\n\n const handleClear = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n onChangeRef.current?.({\n e,\n id,\n name,\n value: null,\n });\n }, []);\n\n const changeNumberValue = (\n e: React.MouseEvent<HTMLButtonElement>,\n isIncrement = true,\n ) => {\n onChangeRef.current?.({\n e,\n id,\n name,\n value: getValueByStep(sortedSteps, value, isIncrement, min, max),\n });\n };\n\n const rootProps = {\n onClick: useCallback((e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n inputRef.current?.focus();\n onClickRef.current?.(e);\n }, []),\n };\n\n // при смене passwordVible, перемещаем курсор в конец строки\n useEffect(() => {\n if (type === 'password' && inputRef.current) {\n inputRef.current.selectionStart = valueRef.current?.length || 0;\n }\n }, [passwordVisible]);\n\n return (\n <div\n className={cnTextField({ labelPosition, size, view, width }, [className])}\n ref={useForkRef([ref, textFieldRef])}\n {...rootProps}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n as=\"label\"\n htmlFor={id?.toString()}\n icon={labelIcon}\n required={required}\n className={cnTextField('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnTextField('Body')}>\n <div\n ref={inputContainerRef}\n className={cnTextField('InputContainer', {\n view,\n form,\n status: status || state,\n disabled,\n type,\n focus: focus || focused,\n withValue: !!value,\n })}\n >\n {LeftIcon && (\n <div\n className={cnTextField('Side', {\n position: 'left',\n type: leftSideIsString ? 'string' : 'icon',\n })}\n title={typeof leftSide === 'string' ? leftSide : undefined}\n >\n {leftSideIsString ? (\n leftSide\n ) : (\n <LeftIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n {textarea ? (\n <TextAreaAutoSize {...commonProps} {...textareaProps} />\n ) : (\n <input {...commonProps} {...inputProps} />\n )}\n\n {type === 'number' && incrementButtons && (\n <div className={cnTextField('Counter')}>\n <button\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, true)}\n type=\"button\"\n className={cnTextField('CounterButton')}\n >\n <IconSelectOpen size=\"xs\" />\n </button>\n <button\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, false)}\n type=\"button\"\n className={cnTextField('CounterButton')}\n >\n <IconSelect size=\"xs\" />\n </button>\n </div>\n )}\n\n {value && withClearButton && type !== 'number' && (\n <button\n type=\"button\"\n disabled={disabled}\n onClick={handleClear}\n className={cnTextField('ClearButton')}\n >\n <IconClose size=\"xs\" className={cnTextField('ClearButtonIcon')} />\n </button>\n )}\n\n {type === 'password' && value && (\n <button\n className={cnTextField('ClearButton')}\n type=\"button\"\n onClick={handleEyeClick}\n >\n <Eye className={cnTextField('Icon')} size={iconSize} />\n </button>\n )}\n\n {RightIcon && type !== 'number' && type !== 'password' && (\n <div\n className={cnTextField('Side', {\n position: 'right',\n type: rightSideIsString ? 'string' : 'icon',\n })}\n title={typeof rightSide === 'string' ? rightSide : undefined}\n >\n {rightSideIsString ? (\n rightSide\n ) : (\n <RightIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n </div>\n {caption && (\n <FieldCaption\n className={cnTextField('Caption')}\n status={status || state}\n >\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n};\n\nexport const TextField = forwardRef(TextFieldRender) as TextFieldComponent;\nexport * from './types';\n"],"mappings":"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"}
@@ -1 +1 @@
1
- .Tooltip{--tooltip-bg-color:var(--color-bg-default);--popover-arrow-bg-color:var(--tooltip-bg-color);--tooltip-bg-opacity:0.9}.Tooltip_status_alert{--tooltip-bg-color:var(--color-bg-alert)}.Tooltip_status_warning{--tooltip-bg-color:var(--color-bg-warning)}.Tooltip_status_success{--tooltip-bg-color:var(--color-bg-success)}.Tooltip_status_normal{--tooltip-bg-color:var(--color-bg-normal)}.Tooltip[class*=status]{--tooltip-bg-opacity:1}.Tooltip[class*=status] .Tooltip-Content{text-shadow:var(--shadow-group)}.Tooltip-Background{background:var(--tooltip-bg-color);border-radius:var(--control-radius);bottom:0;box-shadow:var(--shadow-layer);left:0;opacity:var(--tooltip-bg-opacity);position:absolute;right:0;top:0}.Tooltip-Content{box-sizing:border-box;padding:var(--space-xs);position:relative;width:100%}.Tooltip-Content_size_s{max-width:150px}.Tooltip-Content_size_m{max-width:260px}.Tooltip-Content_size_l{max-width:400px}.Tooltip-Arrow{opacity:var(--tooltip-bg-opacity)}
1
+ .Tooltip{--tooltip-bg-color:var(--color-bg-default);--popover-arrow-bg-color:var(--tooltip-bg-color)}.Tooltip_status_alert{--tooltip-bg-color:var(--color-bg-alert)}.Tooltip_status_warning{--tooltip-bg-color:var(--color-bg-warning)}.Tooltip_status_success{--tooltip-bg-color:var(--color-bg-success)}.Tooltip_status_normal{--tooltip-bg-color:var(--color-bg-normal)}.Tooltip[class*=status] .Tooltip-Content{text-shadow:var(--shadow-group)}.Tooltip-Background{background:var(--tooltip-bg-color);border-radius:var(--control-radius);bottom:0;box-shadow:var(--shadow-layer);left:0;position:absolute;right:0;top:0}.Tooltip-Content{box-sizing:border-box;padding:var(--space-xs);position:relative;width:100%}.Tooltip-Content_size_s{max-width:150px}.Tooltip-Content_size_m{max-width:260px}.Tooltip-Content_size_l{max-width:400px}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm"];import"../SelectComponents/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useSelect}from"../../hooks/useSelect/useSelect";import{cnMixFocus}from"../../mixs/MixFocus/MixFocus";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponents/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=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.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=_objectWithoutProperties(g,_excluded),ca=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))}}),da=ca.getKeyProps,ea=ca.getOptionProps,fa=ca.isOpen,ga=ca.visibleItems,ha=ca.isFocused,ia=ca.handleInputFocus,ja=ca.handleInputBlur,ka=ca.handleToggleDropdown,la=ca.inputRef,ma=ca.handleInputClick,na=ca.handleInputChange,oa=ca.searchValue,pa=ca.clearValue,qa=ca.getHandleRemoveValue,ra=ca.notFound,sa=ca.hasItems,ta=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},ua=useForkRef([la,Q]),va=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return ta({item:a,handleRemove:qa(a)})}),isNotMultipleParams(a)&&a.value&&ta({item:a.value}),(!m||Array.isArray(m)&&0===m.length)&&!oa&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},da(),{type:"text",name:C,onFocus:ia,onBlur:ja,"aria-label":o,onChange:na,ref:ua,className:cnSelect("Input",{size:z,hide:!Y&&!!m,multiple:Y,isUserSelect:!0}),value:oa,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:ha,disabled:n,size:z,required:r,view:x,type:"userselect",form:v,multiple:!0,ref:b,style:$},ba),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":fa,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:ma,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue",{isUserSelect:!0})},va()):va())),React.createElement("span",{className:cnSelect("Indicators")},m&&React.createElement("button",{type:"button",onClick:pa,className:cnSelect("ClearIndicator",[cnMixFocus()])},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:ka},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},oa)),React.createElement(SelectDropdown,{isOpen:fa,size:z,controlRef:f,getOptionProps:ea,dropdownRef:t,form:aa,isLoading:q,className:A,renderItem:N||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter;return React.createElement(UserSelectItem,{label:G(b),subLabel:H(b),avatarUrl:I(b),active:c,hovered:d,size:z,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disable:K(b),multiple:Y})},getGroupLabel:M,visibleItems:ga,labelForNotFound:S,labelForCreate:U,notFound:ra,hasItems:sa,labelForEmptyItems:W,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var UserSelect=forwardRef(UserSelectRender);export*from"./helpers";
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm"];import"../SelectComponents/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useSelect}from"../../hooks/useSelect/useSelect";import{cnMixFocus}from"../../mixs/MixFocus/MixFocus";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponents/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=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.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=_objectWithoutProperties(g,_excluded),ca=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))}}),da=ca.getKeyProps,ea=ca.getOptionProps,fa=ca.isOpen,ga=ca.visibleItems,ha=ca.isFocused,ia=ca.handleInputFocus,ja=ca.handleInputBlur,ka=ca.handleToggleDropdown,la=ca.inputRef,ma=ca.handleInputClick,na=ca.handleInputChange,oa=ca.searchValue,pa=ca.clearValue,qa=ca.getHandleRemoveValue,ra=ca.notFound,sa=ca.hasItems,ta=p?"".concat(p,"-input"):p,ua=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},va=useForkRef([la,Q]),wa=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return ua({item:a,handleRemove:qa(a)})}),isNotMultipleParams(a)&&a.value&&ua({item:a.value}),(!m||Array.isArray(m)&&0===m.length)&&!oa&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},da(),{type:"text",name:C,id:ta,onFocus:ia,onBlur:ja,"aria-label":o,onChange:na,ref:va,className:cnSelect("Input",{size:z,hide:!Y&&!!m,multiple:Y,isUserSelect:!0}),value:oa,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:ha,disabled:n,size:z,required:r,id:ta,view:x,type:"userselect",form:v,multiple:!0,ref:b,style:$},ba),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":fa,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:ma,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue",{isUserSelect:!0})},wa()):wa())),React.createElement("span",{className:cnSelect("Indicators")},m&&React.createElement("button",{type:"button",onClick:pa,className:cnSelect("ClearIndicator",[cnMixFocus()])},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:ka},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},oa)),React.createElement(SelectDropdown,{isOpen:fa,size:z,controlRef:f,getOptionProps:ea,dropdownRef:t,form:aa,isLoading:q,className:A,renderItem:N||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter;return React.createElement(UserSelectItem,{label:G(b),subLabel:H(b),avatarUrl:I(b),active:c,hovered:d,size:z,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disable:K(b),multiple:Y})},getGroupLabel:M,visibleItems:ga,labelForNotFound:S,labelForCreate:U,notFound:ra,hasItems:sa,labelForEmptyItems:W,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var UserSelect=forwardRef(UserSelectRender);export*from"./helpers";
2
2
  //# sourceMappingURL=UserSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserSelect.js","names":["IconClose","IconSelect","React","forwardRef","useRef","useForkRef","useSelect","cnMixFocus","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","isMultipleParams","isNotMultipleParams","searchCompare","withDefaultGetters","UserSelectItem","UserSelectValue","COMPONENT_NAME","UserSelectRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValueProp","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","restProps","searchFunctionDefault","item","searchOfLabel","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","renderValueDefault","handleRemove","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isUserSelect","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","UserSelect"],"sources":["../../../../../src/components/UserSelect/UserSelect.tsx"],"sourcesContent":["import '../SelectComponents/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useSelect } from '../../hooks/useSelect/useSelect';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { cnSelect } from '../SelectComponents/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '../SelectComponents/helpers';\nimport { SelectContainer } from '../SelectComponents/SelectContainer/SelectContainer';\nimport { SelectDropdown } from '../SelectComponents/SelectDropdown/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '../SelectComponents/types';\nimport {\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n searchCompare,\n UserSelectComponent,\n UserSelectProps,\n withDefaultGetters,\n} from './helpers';\nimport { UserSelectItem } from './UserSelectItem/UserSelectItem';\nimport { UserSelectValue } from './UserSelectValue/UserSelectValue';\n\nexport const COMPONENT_NAME = 'UserSelect' as const;\n\nconst UserSelectRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<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 isLoading,\n required,\n dropdownRef = defaultDropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n searchValue: searchValueProp,\n name,\n groups = [],\n getItemKey,\n getItemLabel,\n getItemSubLabel,\n getItemAvatarUrl,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n multiple = false,\n searchFunction,\n style,\n dropdownForm = 'default',\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string): boolean => {\n const searchOfLabel = searchCompare(searchValue, getItemLabel(item));\n\n if (searchOfLabel) {\n return searchOfLabel;\n }\n\n return searchCompare(searchValue, getItemSubLabel(item));\n };\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 } = useSelect({\n items,\n groups,\n value,\n onChange,\n dropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n searchValue: searchValueProp,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction: searchFunction || searchFunctionDefault,\n });\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter } = props;\n\n return (\n <UserSelectItem\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disable={getItemDisabled(item)}\n multiple={multiple}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <UserSelectValue\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n key={getItemKey(item)}\n size={size}\n handleRemove={handleRemove}\n multiple={multiple}\n disabled={disabled || getItemDisabled(item)}\n />\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\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 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 isUserSelect: true,\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 required={required}\n view={view}\n type=\"userselect\"\n form={form}\n multiple\n ref={ref}\n style={style}\n {...restProps}\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\n className={cnSelect('ControlValue', { isUserSelect: true })}\n >\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 className={cnSelect('ClearIndicator', [cnMixFocus()])}\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={dropdownRef}\n form={dropdownForm}\n isLoading={isLoading}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n notFound={notFound}\n hasItems={hasItems}\n labelForEmptyItems={labelForEmptyItems}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const UserSelect = forwardRef(UserSelectRender) as UserSelectComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
1
+ {"version":3,"file":"UserSelect.js","names":["IconClose","IconSelect","React","forwardRef","useRef","useForkRef","useSelect","cnMixFocus","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","isMultipleParams","isNotMultipleParams","searchCompare","withDefaultGetters","UserSelectItem","UserSelectValue","COMPONENT_NAME","UserSelectRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValueProp","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","restProps","searchFunctionDefault","item","searchOfLabel","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","inputId","renderValueDefault","handleRemove","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isUserSelect","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","UserSelect"],"sources":["../../../../../src/components/UserSelect/UserSelect.tsx"],"sourcesContent":["import '../SelectComponents/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useSelect } from '../../hooks/useSelect/useSelect';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { cnSelect } from '../SelectComponents/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '../SelectComponents/helpers';\nimport { SelectContainer } from '../SelectComponents/SelectContainer/SelectContainer';\nimport { SelectDropdown } from '../SelectComponents/SelectDropdown/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '../SelectComponents/types';\nimport {\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n searchCompare,\n UserSelectComponent,\n UserSelectProps,\n withDefaultGetters,\n} from './helpers';\nimport { UserSelectItem } from './UserSelectItem/UserSelectItem';\nimport { UserSelectValue } from './UserSelectValue/UserSelectValue';\n\nexport const COMPONENT_NAME = 'UserSelect' as const;\n\nconst UserSelectRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<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 isLoading,\n required,\n dropdownRef = defaultDropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n searchValue: searchValueProp,\n name,\n groups = [],\n getItemKey,\n getItemLabel,\n getItemSubLabel,\n getItemAvatarUrl,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n multiple = false,\n searchFunction,\n style,\n dropdownForm = 'default',\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string): boolean => {\n const searchOfLabel = searchCompare(searchValue, getItemLabel(item));\n\n if (searchOfLabel) {\n return searchOfLabel;\n }\n\n return searchCompare(searchValue, getItemSubLabel(item));\n };\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 } = useSelect({\n items,\n groups,\n value,\n onChange,\n dropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n searchValue: searchValueProp,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction: searchFunction || searchFunctionDefault,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter } = props;\n\n return (\n <UserSelectItem\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disable={getItemDisabled(item)}\n multiple={multiple}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <UserSelectValue\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n key={getItemKey(item)}\n size={size}\n handleRemove={handleRemove}\n multiple={multiple}\n disabled={disabled || getItemDisabled(item)}\n />\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\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 isUserSelect: true,\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 required={required}\n id={inputId}\n view={view}\n type=\"userselect\"\n form={form}\n multiple\n ref={ref}\n style={style}\n {...restProps}\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\n className={cnSelect('ControlValue', { isUserSelect: true })}\n >\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 className={cnSelect('ClearIndicator', [cnMixFocus()])}\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={dropdownRef}\n form={dropdownForm}\n isLoading={isLoading}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n notFound={notFound}\n hasItems={hasItems}\n labelForEmptyItems={labelForEmptyItems}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const UserSelect = forwardRef(UserSelectRender) as UserSelectComponent;\n\nexport * from './helpers';\n"],"mappings":"ykBAAA,uCAEA,OAASA,SAAT,KAA0B,yBAA1B,CACA,OAASC,UAAT,KAA2B,0BAA3B,CACA,MAAOC,MAAP,EAAgBC,UAAhB,CAA4BC,MAA5B,KAA0C,OAA1C,CAEA,OAASC,UAAT,yCACA,OAASC,SAAT,uCACA,OAASC,UAAT,oCACA,OAASC,eAAT,2CACA,OAASC,QAAT,oCACA,OACEC,qBADF,CAEEC,yBAFF,CAGEC,uBAHF,CAIEC,aAJF,mCAMA,OAASC,eAAT,2DACA,OAASC,cAAT,yDACA,OACEC,eADF,CAEEC,eAFF,CAGEC,eAHF,iCAKA,OAGEC,gBAHF,CAIEC,mBAJF,CAOEC,aAPF,CAUEC,kBAVF,iBAYA,OAASC,cAAT,uCACA,OAASC,eAAT,yCAEA,MAAO,IAAMC,eAAc,CAAG,YAAvB,CAEP,GAAMC,iBAAgB,CAAG,SAKvBC,CALuB,CAMvBC,CANuB,CAOpB,IACGC,EAAkB,CAAGzB,MAAM,CAAwB,IAAxB,CAD9B,CAEG0B,CAAe,CAAG1B,MAAM,CAAiB,IAAjB,CAF3B,CAGG2B,CAAsB,CAAG3B,MAAM,CAAiB,IAAjB,CAHlC,CAIG4B,CAAU,CAAG5B,MAAM,CAAwB,IAAxB,CAJtB,GA8CCI,eAAe,CAACiB,cAAD,CAAiBH,kBAAkB,CAACK,CAAD,CAAnC,CAA4CK,CAA5C,CA9ChB,CAODC,CAPC,GAODA,WAPC,CAQDC,CARC,GAQDA,MARC,CASDC,CATC,GASDA,OATC,CAUDC,CAVC,GAUDA,KAVC,CAWDC,CAXC,GAWDA,QAXC,CAYDC,CAZC,GAYDA,KAZC,CAaDC,CAbC,GAaDA,QAbC,CAcDC,CAdC,GAcDA,SAdC,CAeDC,CAfC,GAeDA,EAfC,CAgBDC,CAhBC,GAgBDA,SAhBC,CAiBDC,CAjBC,GAiBDA,QAjBC,KAkBDC,WAlBC,CAkBDA,CAlBC,YAkBaf,CAlBb,OAmBDgB,IAnBC,CAmBDA,CAnBC,YAmBM7B,eAnBN,OAoBD8B,IApBC,CAoBDA,CApBC,YAoBM5B,eApBN,OAqBD6B,IArBC,CAqBDA,CArBC,YAqBM9B,eArBN,GAsBD+B,CAtBC,GAsBDA,iBAtBC,CAuBYC,CAvBZ,GAuBDC,WAvBC,CAwBDC,CAxBC,GAwBDA,IAxBC,KAyBDC,MAzBC,CAyBDA,CAzBC,YAyBQ,EAzBR,GA0BDC,CA1BC,GA0BDA,UA1BC,CA2BDC,CA3BC,GA2BDA,YA3BC,CA4BDC,CA5BC,GA4BDA,eA5BC,CA6BDC,CA7BC,GA6BDA,gBA7BC,CA8BDC,CA9BC,GA8BDA,eA9BC,CA+BDC,CA/BC,GA+BDA,eA/BC,CAgCDC,CAhCC,GAgCDA,WAhCC,CAiCDC,CAjCC,GAiCDA,aAjCC,CAkCDC,CAlCC,GAkCDA,UAlCC,CAmCYC,CAnCZ,GAmCDC,WAnCC,CAoCDC,CApCC,GAoCDA,QApCC,CAqCSC,CArCT,GAqCDC,QArCC,KAsCDC,gBAtCC,CAsCDA,CAtCC,YAsCkBvD,uBAtClB,OAuCDwD,cAvCC,CAuCDA,CAvCC,YAuCgB1D,qBAvChB,OAwCD2D,kBAxCC,CAwCDA,CAxCC,YAwCoB1D,yBAxCpB,OAyCD2D,QAzCC,CAyCDA,CAzCC,eA0CDC,CA1CC,GA0CDA,cA1CC,CA2CDC,CA3CC,GA2CDA,KA3CC,KA4CDC,YA5CC,CA4CDA,EA5CC,YA4Cc,SA5Cd,GA6CEC,EA7CF,0CA2ECpE,SAAS,CAAC,CACZ8B,KAAK,CAALA,CADY,CAEZgB,MAAM,CAANA,CAFY,CAGZd,KAAK,CAALA,CAHY,CAIZD,QAAQ,CAARA,CAJY,CAKZO,WAAW,CAAXA,CALY,CAMZZ,UAAU,CAAVA,CANY,CAOZO,QAAQ,CAARA,CAPY,CAQZe,YAAY,CAAZA,CARY,CASZD,UAAU,CAAVA,CATY,CAUZM,WAAW,CAAXA,CAVY,CAWZF,eAAe,CAAfA,CAXY,CAYZP,WAAW,CAAED,CAZD,CAaZS,eAAe,CAAfA,CAbY,CAcZY,QAAQ,CAARA,CAdY,CAeZpC,MAAM,CAANA,CAfY,CAgBZC,OAAO,CAAPA,CAhBY,CAiBZ6B,QAAQ,CAARA,CAjBY,CAkBZO,cAAc,CAAEA,CAAc,EA7CF,QAAxBI,sBAAwB,CAACC,CAAD,CAAa1B,CAAb,CAA8C,CAC1E,GAAM2B,EAAa,CAAGxD,aAAa,CAAC6B,CAAD,CAAcI,CAAY,CAACsB,CAAD,CAA1B,CAAnC,CAD0E,MAGtEC,EAHsE,CAIjEA,CAJiE,CAOnExD,aAAa,CAAC6B,CAAD,CAAcK,CAAe,CAACqB,CAAD,CAA7B,CACrB,CAmBa,CAAD,CA3EV,CA2DDE,EA3DC,IA2DDA,WA3DC,CA4DDC,EA5DC,IA4DDA,cA5DC,CA6DDC,EA7DC,IA6DDA,MA7DC,CA8DDC,EA9DC,IA8DDA,YA9DC,CA+DDC,EA/DC,IA+DDA,SA/DC,CAgEDC,EAhEC,IAgEDA,gBAhEC,CAiEDC,EAjEC,IAiEDA,eAjEC,CAkEDC,EAlEC,IAkEDA,oBAlEC,CAmEDnB,EAnEC,IAmEDA,QAnEC,CAoEDoB,EApEC,IAoEDA,gBApEC,CAqEDC,EArEC,IAqEDA,iBArEC,CAsEDrC,EAtEC,IAsEDA,WAtEC,CAuEDsC,EAvEC,IAuEDA,UAvEC,CAwEDC,EAxEC,IAwEDA,oBAxEC,CAyEDC,EAzEC,IAyEDA,QAzEC,CA0EDC,EA1EC,IA0EDA,QA1EC,CAgGGC,EAAO,CAAGnD,CAAE,WAAMA,CAAN,WAAmBA,CAhGlC,CAwIGsB,EAAW,CAAGD,CAAe,EAlBe,QAA5C+B,mBAA4C,GAG5C,IAFJjB,EAEI,GAFJA,IAEI,CADJkB,CACI,GADJA,YACI,CACJ,MACE,qBAAC,eAAD,EACE,KAAK,CAAExC,CAAY,CAACsB,CAAD,CADrB,CAEE,QAAQ,CAAErB,CAAe,CAACqB,CAAD,CAF3B,CAGE,SAAS,CAAEpB,CAAgB,CAACoB,CAAD,CAH7B,CAIE,GAAG,CAAEvB,CAAU,CAACuB,CAAD,CAJjB,CAKE,IAAI,CAAE7B,CALR,CAME,YAAY,CAAE+C,CANhB,CAOE,QAAQ,CAAExB,CAPZ,CAQE,QAAQ,CAAE/B,CAAQ,EAAImB,CAAe,CAACkB,CAAD,CARvC,EAWH,CAtIE,CA0IGmB,EAAiB,CAAG1F,UAAU,CAAC,CAAC6D,EAAD,CAAWD,CAAX,CAAD,CA1IjC,CA4IG+B,EAAkB,CAAG,UAAM,CAC/B,GAAMC,EAAK,CAAG3B,CAAQ,CAClBzD,aAAa,CAACiB,CAAD,CAAkBC,CAAlB,CADK,OAAtB,CAGA,MACE,yCACGZ,gBAAgB,CAACQ,CAAD,CAAhB,EACCuE,KAAK,CAACC,OAAN,CAAcxE,CAAK,CAACW,KAApB,CADD,EAECX,CAAK,CAACW,KAAN,CAAY8D,GAAZ,CAAgB,SAACxB,CAAD,QACdb,GAAW,CAAC,CAAEa,IAAI,CAAJA,CAAF,CAAQkB,YAAY,CAAEL,EAAoB,CAACb,CAAD,CAA1C,CAAD,CADG,CAAhB,CAHJ,CAMGxD,mBAAmB,CAACO,CAAD,CAAnB,EACCA,CAAK,CAACW,KADP,EAECyB,EAAW,CAAC,CAAEa,IAAI,CAAEjD,CAAK,CAACW,KAAd,CAAD,CARf,CASG,CAAC,CAACA,CAAD,EAAW4D,KAAK,CAACC,OAAN,CAAc7D,CAAd,GAAyC,CAAjB,GAAAA,CAAK,CAAC+D,MAA1C,GACC,CAACnD,EADF,EAECjB,CAFD,EAGG,4BAAM,SAAS,CAAExB,QAAQ,CAAC,aAAD,CAAzB,CAA0C,KAAK,CAAC,aAAhD,EACGwB,CADH,CAZN,CAgBE,6CACM6C,EAAW,EADjB,EAEE,IAAI,CAAC,MAFP,CAGE,IAAI,CAAE3B,CAHR,CAIE,EAAE,CAAEyC,EAJN,CAKE,OAAO,CAAET,EALX,CAME,MAAM,CAAEC,EANV,CAOE,aAAY5C,CAPd,CAQE,QAAQ,CAAE+C,EARZ,CASE,GAAG,CAAEQ,EATP,CAUE,SAAS,CAAEtF,QAAQ,CAAC,OAAD,CAAU,CAC3BsC,IAAI,CAAJA,CAD2B,CAE3BuD,IAAI,CAAE,CAAChC,CAAD,EAAa,CAAC,CAAChC,CAFM,CAG3BgC,QAAQ,CAARA,CAH2B,CAI3BiC,YAAY,GAJe,CAAV,CAVrB,CAgBE,KAAK,CAAErD,EAhBT,CAiBE,KAAK,CAAE,CAAE+C,KAAK,CAALA,CAAF,CAjBT,GAhBF,CAqCH,CAtLE,CAwLH,MACE,yCACE,oBAAC,eAAD,gBACE,OAAO,CAAEf,EADX,CAEE,QAAQ,CAAE3C,CAFZ,CAGE,IAAI,CAAEQ,CAHR,CAIE,QAAQ,CAAEJ,CAJZ,CAKE,EAAE,CAAEiD,EALN,CAME,IAAI,CAAE9C,CANR,CAOE,IAAI,CAAC,YAPP,CAQE,IAAI,CAAED,CARR,CASE,QAAQ,GATV,CAUE,GAAG,CAAEjB,CAVP,CAWE,KAAK,CAAE4C,CAXT,EAYME,EAZN,EAcE,2BACE,SAAS,CAAEjE,QAAQ,CAAC,SAAD,CAAY,CAAE+F,QAAQ,GAAV,CAAZ,CADrB,CAEE,GAAG,CAAExE,CAFP,CAGE,gBAAegD,EAHjB,CAIE,gBAAc,SAJhB,CAKE,EAAE,CAAEvC,CALN,EAOE,2BACE,SAAS,CAAEhC,QAAQ,CAAC,cAAD,CADrB,CAEE,OAAO,CAAE6E,EAFX,CAGE,IAAI,CAAC,QAHP,CAIE,GAAG,CAAExD,CAJP,CAKE,cAAY,MALd,EAOE,2BAAK,SAAS,CAAErB,QAAQ,CAAC,uBAAD,CAAxB,EACG6D,CAAQ,CACP,2BACE,SAAS,CAAE7D,QAAQ,CAAC,cAAD,CAAiB,CAAE8F,YAAY,GAAd,CAAjB,CADrB,EAGGP,EAAkB,EAHrB,CADO,CAOPA,EAAkB,EARtB,CAPF,CAPF,CA0BE,4BAAM,SAAS,CAAEvF,QAAQ,CAAC,YAAD,CAAzB,EACG6B,CAAK,EACJ,8BACE,IAAI,CAAC,QADP,CAEE,OAAO,CAAEkD,EAFX,CAGE,SAAS,CAAE/E,QAAQ,CAAC,gBAAD,CAAmB,CAACF,UAAU,EAAX,CAAnB,CAHrB,EAKE,oBAAC,SAAD,EACE,IAAI,CAAC,IADP,CAEE,SAAS,CAAEE,QAAQ,CAAC,oBAAD,CAFrB,EALF,CAFJ,CAaE,4BAAM,SAAS,CAAEA,QAAQ,CAAC,WAAD,CAAzB,EAbF,CAcE,8BACE,IAAI,CAAC,QADP,CAEE,SAAS,CAAEA,QAAQ,CAAC,oBAAD,CAFrB,CAGE,QAAQ,CAAE,CAAC,CAHb,CAIE,OAAO,CAAE4E,EAJX,EAME,oBAAC,UAAD,EACE,IAAI,CAAC,IADP,CAEE,SAAS,CAAE5E,QAAQ,CAAC,uBAAD,CAFrB,EANF,CAdF,CA1BF,CAdF,CAmEE,2BACE,SAAS,CAAEA,QAAQ,CAAC,wBAAD,CADrB,CAEE,GAAG,CAAEsB,CAFP,EAIGmB,EAJH,CAnEF,CADF,CA2EE,oBAAC,cAAD,EACE,MAAM,CAAE8B,EADV,CAEE,IAAI,CAAEjC,CAFR,CAGE,UAAU,CAAEf,CAHd,CAIE,cAAc,CAAE+C,EAJlB,CAKE,WAAW,CAAEnC,CALf,CAME,IAAI,CAAE6B,EANR,CAOE,SAAS,CAAE/B,CAPb,CAQE,SAAS,CAAEM,CARb,CASE,UAAU,CAAEa,CAAU,EA3KoB,QAA1C4C,kBAA0C,CAAC9E,CAAD,CAAW,CACzD,GAAQiD,EAAR,CAAyDjD,CAAzD,CAAQiD,IAAR,CAAc8B,CAAd,CAAyD/E,CAAzD,CAAc+E,MAAd,CAAsBC,CAAtB,CAAyDhF,CAAzD,CAAsBgF,OAAtB,CAA+BC,CAA/B,CAAyDjF,CAAzD,CAA+BiF,OAA/B,CAAwCC,CAAxC,CAAyDlF,CAAzD,CAAwCkF,YAAxC,CAEA,MACE,qBAAC,cAAD,EACE,KAAK,CAAEvD,CAAY,CAACsB,CAAD,CADrB,CAEE,QAAQ,CAAErB,CAAe,CAACqB,CAAD,CAF3B,CAGE,SAAS,CAAEpB,CAAgB,CAACoB,CAAD,CAH7B,CAIE,MAAM,CAAE8B,CAJV,CAKE,OAAO,CAAEC,CALX,CAME,IAAI,CAAE5D,CANR,CAOE,MAAM,CAAmB,OAAjB,GAAA0B,EAAY,CAAe,WAAf,CAA6B,QAPnD,CAQE,OAAO,CAAEmC,CARX,CASE,YAAY,CAAEC,CAThB,CAUE,OAAO,CAAEnD,CAAe,CAACkB,CAAD,CAV1B,CAWE,QAAQ,CAAEN,CAXZ,EAcH,CAgJG,CAUE,aAAa,CAAEV,CAVjB,CAWE,YAAY,CAAEqB,EAXhB,CAYE,gBAAgB,CAAEd,CAZpB,CAaE,cAAc,CAAEC,CAblB,CAcE,QAAQ,CAAEsB,EAdZ,CAeE,QAAQ,CAAEC,EAfZ,CAgBE,kBAAkB,CAAEtB,CAhBtB,CAiBE,KAAK,CACsB,QAAzB,gBAAOG,CAAP,WAAOA,CAAP,QAAOA,CAAK,CAAEsC,MAAd,EACI,CAAEA,MAAM,CAAEtC,CAAK,CAACsC,MAAN,CAAe,CAAzB,CADJ,OAlBJ,EA3EF,CAoGH,CApSD,CAsSA,MAAO,IAAMC,WAAU,CAAG5G,UAAU,CAACuB,gBAAD,CAA7B,CAEP"}
@@ -20,5 +20,5 @@ export declare type TooltipProps = Omit<TooltipComponentProps, 'children' | 'ref
20
20
  export declare type WithTooltipProps<Props> = Omit<Props, 'tooltipProps'> & {
21
21
  tooltipProps?: TooltipProps;
22
22
  };
23
- export declare function withTooltip(hocProps?: TooltipProps): <COMPONENT_TYPE extends React.ComponentType<ComponentProps> | ((props: ComponentProps) => React.ReactElement | null), COMPONENT_PROPS extends ComponentProps>(Component: COMPONENT_TYPE) => COMPONENT_TYPE | React.ComponentType<WithTooltipProps<COMPONENT_PROPS>>;
23
+ export declare function withTooltip(hocProps?: TooltipProps): <COMPONENT_TYPE, COMPONENT_PROPS extends ComponentProps>(Component: COMPONENT_TYPE) => COMPONENT_TYPE | React.ComponentType<WithTooltipProps<COMPONENT_PROPS>>;
24
24
  export {};