@consta/uikit 4.31.2 → 4.33.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.
- package/AttachmentCanary/index.d.ts +1 -0
- package/AttachmentCanary/index.js +1 -0
- package/PaginationCanary/index.d.ts +1 -0
- package/PaginationCanary/index.js +1 -0
- package/TooltipCanary/index.d.ts +1 -0
- package/TooltipCanary/index.js +1 -0
- package/__internal__/src/components/AttachmentCanary/Attachment.css +1 -0
- package/__internal__/src/components/AttachmentCanary/AttachmentCanary.d.ts +5 -0
- package/__internal__/src/components/AttachmentCanary/AttachmentCanary.js +2 -0
- package/__internal__/src/components/AttachmentCanary/AttachmentCanary.js.map +1 -0
- package/__internal__/src/components/AttachmentCanary/index.d.ts +1 -0
- package/__internal__/src/components/AttachmentCanary/index.js +2 -0
- package/__internal__/src/components/AttachmentCanary/index.js.map +1 -0
- package/__internal__/src/components/AttachmentCanary/types.d.ts +22 -0
- package/__internal__/src/components/AttachmentCanary/types.js +2 -0
- package/__internal__/src/components/AttachmentCanary/types.js.map +1 -0
- package/__internal__/src/components/BadgeGroup/BadgeGroup.css +1 -1
- package/__internal__/src/components/BadgeGroup/BadgeGroup.js +1 -1
- package/__internal__/src/components/BadgeGroup/BadgeGroup.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.css +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/types.d.ts +2 -2
- package/__internal__/src/components/BookmarkTabsCanary/types.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.d.ts +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.js.map +1 -1
- package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js +1 -1
- package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/__internal__/src/components/CheckboxGroup/helper.d.ts +1 -0
- package/__internal__/src/components/CheckboxGroup/types.d.ts +13 -9
- package/__internal__/src/components/CheckboxGroup/types.js +1 -1
- package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/types.d.ts +3 -3
- package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroupDeprecated/ChoiceGroupDeprecated.d.ts +3 -3
- package/__internal__/src/components/ChoiceGroupDeprecated/ChoiceGroupDeprecated.js.map +1 -1
- package/__internal__/src/components/Combobox/Combobox.js +1 -1
- package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
- package/__internal__/src/components/Combobox/helpers.d.ts +3 -1
- package/__internal__/src/components/Combobox/helpers.js +1 -1
- package/__internal__/src/components/Combobox/helpers.js.map +1 -1
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js +1 -1
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js.map +1 -1
- package/__internal__/src/components/ComboboxCanary/helpers.d.ts +3 -1
- package/__internal__/src/components/ComboboxCanary/helpers.js +1 -1
- package/__internal__/src/components/ComboboxCanary/helpers.js.map +1 -1
- package/__internal__/src/components/DateTime/helpers/getHandleSelectDate.d.ts +3 -3
- package/__internal__/src/components/DateTime/helpers/getHandleSelectDate.js.map +1 -1
- package/__internal__/src/components/DateTime/helpers/types.d.ts +4 -4
- package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
- package/__internal__/src/components/DragNDropField/DragNDropFieldTooltip/DragNDropFieldTooltip.js +1 -1
- package/__internal__/src/components/DragNDropField/DragNDropFieldTooltip/DragNDropFieldTooltip.js.map +1 -1
- package/__internal__/src/components/Loader/Loader.css +1 -1
- package/__internal__/src/components/Loader/Loader.d.ts +1 -1
- package/__internal__/src/components/Loader/Loader.js +1 -1
- package/__internal__/src/components/Loader/Loader.js.map +1 -1
- package/__internal__/src/components/LoaderCanary/Loader.css +1 -1
- package/__internal__/src/components/LoaderCanary/LoaderCanary.d.ts +2 -2
- package/__internal__/src/components/LoaderCanary/types.d.ts +1 -1
- package/__internal__/src/components/LoaderCanary/types.js +1 -1
- package/__internal__/src/components/LoaderCanary/types.js.map +1 -1
- package/__internal__/src/components/PaginationCanary/Pagination.css +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationArrow/PaginationArrow.css +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationArrow/PaginationArrow.d.ts +11 -0
- package/__internal__/src/components/PaginationCanary/PaginationArrow/PaginationArrow.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationArrow/PaginationArrow.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationArrow/index.d.ts +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationArrow/index.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationArrow/index.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationBase/PaginationBase.css +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationBase/PaginationBase.d.ts +3 -0
- package/__internal__/src/components/PaginationCanary/PaginationBase/PaginationBase.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationBase/PaginationBase.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationBase/index.d.ts +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationBase/index.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationBase/index.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationCanary.d.ts +3 -0
- package/__internal__/src/components/PaginationCanary/PaginationCanary.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationCanary.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationItem/PaginationItem.css +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationItem/PaginationItem.d.ts +3 -0
- package/__internal__/src/components/PaginationCanary/PaginationItem/PaginationItem.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationItem/PaginationItem.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationItem/index.d.ts +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationItem/index.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationItem/index.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationList/PaginationList.css +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationList/PaginationList.d.ts +3 -0
- package/__internal__/src/components/PaginationCanary/PaginationList/PaginationList.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationList/PaginationList.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationList/index.d.ts +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationList/index.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationList/index.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationNumberInput/PaginationNumberInput.css +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationNumberInput/PaginationNumberInput.d.ts +10 -0
- package/__internal__/src/components/PaginationCanary/PaginationNumberInput/PaginationNumberInput.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationNumberInput/PaginationNumberInput.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationNumberInput/index.d.ts +1 -0
- package/__internal__/src/components/PaginationCanary/PaginationNumberInput/index.js +2 -0
- package/__internal__/src/components/PaginationCanary/PaginationNumberInput/index.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/helpers.d.ts +560 -0
- package/__internal__/src/components/PaginationCanary/helpers.js +2 -0
- package/__internal__/src/components/PaginationCanary/helpers.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/index.d.ts +2 -0
- package/__internal__/src/components/PaginationCanary/index.js +2 -0
- package/__internal__/src/components/PaginationCanary/index.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/types.d.ts +148 -0
- package/__internal__/src/components/PaginationCanary/types.js +2 -0
- package/__internal__/src/components/PaginationCanary/types.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/usePaginationItems.d.ts +19 -0
- package/__internal__/src/components/PaginationCanary/usePaginationItems.js +2 -0
- package/__internal__/src/components/PaginationCanary/usePaginationItems.js.map +1 -0
- package/__internal__/src/components/PaginationCanary/usePaginationKeys.d.ts +10 -0
- package/__internal__/src/components/PaginationCanary/usePaginationKeys.js +2 -0
- package/__internal__/src/components/PaginationCanary/usePaginationKeys.js.map +1 -0
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js.map +1 -1
- package/__internal__/src/components/Responses/Responses.css +1 -1
- package/__internal__/src/components/Responses/Responses.d.ts +1 -1
- package/__internal__/src/components/Responses/Responses.js +1 -1
- package/__internal__/src/components/Responses/Responses.js.map +1 -1
- package/__internal__/src/components/Responses403/Responses403.js +1 -1
- package/__internal__/src/components/Responses403/Responses403.js.map +1 -1
- package/__internal__/src/components/Responses500/Responses500.d.ts +2 -2
- package/__internal__/src/components/Responses500/Responses500.js +1 -1
- package/__internal__/src/components/Responses500/Responses500.js.map +1 -1
- package/__internal__/src/components/Responses503/Responses503.d.ts +2 -2
- package/__internal__/src/components/Responses503/Responses503.js +1 -1
- package/__internal__/src/components/Responses503/Responses503.js.map +1 -1
- package/__internal__/src/components/ResponsesConnectionError/ResponsesConnectionError.js +1 -1
- package/__internal__/src/components/ResponsesConnectionError/ResponsesConnectionError.js.map +1 -1
- package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js +1 -1
- package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js.map +1 -1
- package/__internal__/src/components/Select/Select.js +1 -1
- package/__internal__/src/components/Select/Select.js.map +1 -1
- package/__internal__/src/components/Select/helpers.d.ts +2 -1
- package/__internal__/src/components/Select/helpers.js +1 -1
- package/__internal__/src/components/Select/helpers.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectCanary.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectCanary.js.map +1 -1
- package/__internal__/src/components/SelectCanary/helpers.d.ts +2 -1
- package/__internal__/src/components/SelectCanary/helpers.js +1 -1
- package/__internal__/src/components/SelectCanary/helpers.js.map +1 -1
- package/__internal__/src/components/SelectComponents/Select.css +1 -1
- package/__internal__/src/components/SelectComponentsCanary/Select.css +1 -1
- package/__internal__/src/components/Slider/SliderPoint/SliderPoint.js +1 -1
- package/__internal__/src/components/Slider/SliderPoint/SliderPoint.js.map +1 -1
- package/__internal__/src/components/Table/filtering.js +1 -1
- package/__internal__/src/components/Table/filtering.js.map +1 -1
- package/__internal__/src/components/Table/helpers.js +1 -1
- package/__internal__/src/components/Table/helpers.js.map +1 -1
- package/__internal__/src/components/Tabs/Tabs.js +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/{FitModeDropdownWrapper → TabsFitModeDropdownWrapper}/TabsFitModeDropdownWrapper.d.ts +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +2 -0
- package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +1 -0
- package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/useFittingItems.js.map +1 -0
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js +2 -0
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -0
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/__test__/helpers.test.js.map +1 -0
- package/__internal__/src/components/Tabs/TabsLine/TabsLine.js.map +1 -0
- package/__internal__/src/components/Tabs/TabsListWrapper/TabsListWrapper.d.ts +2 -0
- package/__internal__/src/components/Tabs/TabsListWrapper/TabsListWrapper.js +2 -0
- package/__internal__/src/components/Tabs/TabsListWrapper/TabsListWrapper.js.map +1 -0
- package/__internal__/src/components/Tabs/TabsListWrapper/index.d.ts +1 -0
- package/__internal__/src/components/Tabs/TabsListWrapper/index.js +2 -0
- package/__internal__/src/components/Tabs/TabsListWrapper/index.js.map +1 -0
- package/__internal__/src/components/Tabs/TabsMoreItems/TabsMoreItems.css +1 -0
- package/__internal__/src/components/Tabs/TabsMoreItems/TabsMoreItems.js +2 -0
- package/__internal__/src/components/Tabs/TabsMoreItems/TabsMoreItems.js.map +1 -0
- package/__internal__/src/components/Tabs/TabsTab/TabsTab.js.map +1 -0
- package/__internal__/src/components/Tabs/helpers.d.ts +329 -329
- package/__internal__/src/components/Tabs/helpers.js +1 -1
- package/__internal__/src/components/Tabs/helpers.js.map +1 -1
- package/__internal__/src/components/Tabs/index.d.ts +1 -1
- package/__internal__/src/components/Tabs/index.js +1 -1
- package/__internal__/src/components/Tabs/index.js.map +1 -1
- package/__internal__/src/components/Tabs/types.d.ts +3 -2
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/TabsDeprecated/FitModeScrollWrapper/helpers.js +1 -1
- package/__internal__/src/components/TabsDeprecated/FitModeScrollWrapper/helpers.js.map +1 -1
- package/__internal__/src/components/Theme/_color/Theme_color_gpnDark.css +1 -1
- package/__internal__/src/components/TooltipCanary/Tooltip.css +1 -0
- package/__internal__/src/components/TooltipCanary/TooltipCanary.d.ts +4 -0
- package/__internal__/src/components/TooltipCanary/TooltipCanary.js +2 -0
- package/__internal__/src/components/TooltipCanary/TooltipCanary.js.map +1 -0
- package/__internal__/src/components/TooltipCanary/index.d.ts +2 -0
- package/__internal__/src/components/TooltipCanary/index.js +2 -0
- package/__internal__/src/components/TooltipCanary/index.js.map +1 -0
- package/__internal__/src/components/TooltipCanary/types.d.ts +23 -0
- package/__internal__/src/components/TooltipCanary/types.js +2 -0
- package/__internal__/src/components/TooltipCanary/types.js.map +1 -0
- package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
- package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
- package/__internal__/src/components/UserSelect/helpers.d.ts +3 -1
- package/__internal__/src/components/UserSelect/helpers.js +1 -1
- package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
- package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js +1 -1
- package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js.map +1 -1
- package/__internal__/src/components/UserSelectCanary/helpers.d.ts +3 -1
- package/__internal__/src/components/UserSelectCanary/helpers.js +1 -1
- package/__internal__/src/components/UserSelectCanary/helpers.js.map +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.js +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
- package/package.json +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +0 -2
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +0 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.js.map +0 -1
- package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +0 -2
- package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +0 -1
- package/__internal__/src/components/Tabs/FitModeScrollWrapper/__test__/helpers.test.js.map +0 -1
- package/__internal__/src/components/Tabs/Line/TabsLine.js.map +0 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.css +0 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js +0 -2
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js.map +0 -1
- package/__internal__/src/components/Tabs/Tab/TabsTab.js.map +0 -1
- /package/__internal__/src/components/Tabs/{FitModeDropdownWrapper → TabsFitModeDropdownWrapper}/TabsFitModeDropdownWrapper.css +0 -0
- /package/__internal__/src/components/Tabs/{FitModeDropdownWrapper → TabsFitModeDropdownWrapper}/useFittingItems.d.ts +0 -0
- /package/__internal__/src/components/Tabs/{FitModeDropdownWrapper → TabsFitModeDropdownWrapper}/useFittingItems.js +0 -0
- /package/__internal__/src/components/Tabs/{FitModeScrollWrapper → TabsFitModeScrollWrapper}/TabsFitModeScrollWrapper.css +0 -0
- /package/__internal__/src/components/Tabs/{FitModeScrollWrapper → TabsFitModeScrollWrapper}/TabsFitModeScrollWrapper.d.ts +0 -0
- /package/__internal__/src/components/Tabs/{FitModeScrollWrapper → TabsFitModeScrollWrapper}/__test__/helpers.test.d.ts +0 -0
- /package/__internal__/src/components/Tabs/{FitModeScrollWrapper → TabsFitModeScrollWrapper}/__test__/helpers.test.js +0 -0
- /package/__internal__/src/components/Tabs/{Line → TabsLine}/TabsLine.css +0 -0
- /package/__internal__/src/components/Tabs/{Line → TabsLine}/TabsLine.d.ts +0 -0
- /package/__internal__/src/components/Tabs/{Line → TabsLine}/TabsLine.js +0 -0
- /package/__internal__/src/components/Tabs/{MoreItems → TabsMoreItems}/TabsMoreItems.d.ts +0 -0
- /package/__internal__/src/components/Tabs/{Tab → TabsTab}/TabsTab.css +0 -0
- /package/__internal__/src/components/Tabs/{Tab → TabsTab}/TabsTab.d.ts +0 -0
- /package/__internal__/src/components/Tabs/{Tab → TabsTab}/TabsTab.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var
|
|
1
|
+
export var checkboxGroupPropDirections=["column","row"];export var checkboxGroupDefaultDirection=checkboxGroupPropDirections[0];export var checkboxGroupPropSizes=["m","xs","s","l"];export var checkboxGroupDefaultSize=checkboxGroupPropSizes[0];export var checkboxGroupPropViews=["primary","ghost"];export var checkboxGroupDefaultView=checkboxGroupPropViews[0];export var checkboxGroupPropAlign=["center","top"];export var checkboxGroupDefaultAlign=checkboxGroupPropAlign[0];
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["
|
|
1
|
+
{"version":3,"file":"types.js","names":["checkboxGroupPropDirections","checkboxGroupDefaultDirection","checkboxGroupPropSizes","checkboxGroupDefaultSize","checkboxGroupPropViews","checkboxGroupDefaultView","checkboxGroupPropAlign","checkboxGroupDefaultAlign"],"sources":["../../../../../src/components/CheckboxGroup/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\ntype CheckboxGroupPropAttributes = Omit<\n JSX.IntrinsicElements['label'],\n 'ref' | 'onChange' | 'onFocus' | 'children' | 'onBlur'\n>;\n\nexport type CheckboxGroupDefaultItem = {\n key?: string | number;\n label: string;\n disabled?: boolean;\n attributes?: CheckboxGroupPropAttributes;\n ref?: React.RefObject<HTMLLabelElement>;\n};\n\nexport const checkboxGroupPropDirections = ['column', 'row'] as const;\nexport type CheckboxGroupPropDirection =\n typeof checkboxGroupPropDirections[number];\nexport const checkboxGroupDefaultDirection: CheckboxGroupPropDirection =\n checkboxGroupPropDirections[0];\n\nexport const checkboxGroupPropSizes = ['m', 'xs', 's', 'l'] as const;\nexport type CheckboxGroupPropSize = typeof checkboxGroupPropSizes[number];\nexport const checkboxGroupDefaultSize: CheckboxGroupPropSize =\n checkboxGroupPropSizes[0];\n\nexport const checkboxGroupPropViews = ['primary', 'ghost'] as const;\nexport type CheckboxGroupPropView = typeof checkboxGroupPropViews[number];\nexport const checkboxGroupDefaultView: CheckboxGroupPropView =\n checkboxGroupPropViews[0];\n\nexport const checkboxGroupPropAlign = ['center', 'top'] as const;\nexport type CheckboxGroupPropAlign = typeof checkboxGroupPropAlign[number];\nexport const checkboxGroupDefaultAlign: CheckboxGroupPropAlign =\n checkboxGroupPropAlign[0];\n\nexport type CheckboxGroupPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type CheckboxGroupPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type CheckboxGroupPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type CheckboxGroupPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => CheckboxGroupPropAttributes | undefined;\nexport type CheckboxGroupPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLLabelElement> | undefined;\n\nexport type CheckboxGroupProps<ITEM = CheckboxGroupDefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n value?: ITEM[] | null;\n items: ITEM[];\n getItemKey?: CheckboxGroupPropGetItemKey<ITEM>;\n getItemLabel?: CheckboxGroupPropGetItemLabel<ITEM>;\n getItemDisabled?: CheckboxGroupPropGetItemDisabled<ITEM>;\n getItemAttributes?: CheckboxGroupPropGetItemAttributes<ITEM>;\n getItemRef?: CheckboxGroupPropGetItemRef<ITEM>;\n onChange: (props: {\n e: React.ChangeEvent<HTMLInputElement>;\n value: ITEM[] | null;\n }) => void;\n name?: string;\n direction?: CheckboxGroupPropDirection;\n align?: CheckboxGroupPropAlign;\n size?: CheckboxGroupPropSize;\n view?: CheckboxGroupPropView;\n disabled?: boolean;\n className?: string;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: CheckboxGroupDefaultItem['label'] }\n ? {}\n : {\n getItemLabel: CheckboxGroupPropGetItemLabel<ITEM>;\n });\n\nexport type CheckboxGroupComponent = <ITEM = CheckboxGroupDefaultItem>(\n props: CheckboxGroupProps<ITEM>,\n) => React.ReactElement | null;\n"],"mappings":"AAiBA,MAAO,IAAMA,4BAA2B,CAAG,CAAC,QAAD,CAAW,KAAX,CAApC,CAGP,MAAO,IAAMC,8BAAyD,CACpED,2BAA2B,CAAC,CAAD,CADtB,CAGP,MAAO,IAAME,uBAAsB,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAA/B,CAEP,MAAO,IAAMC,yBAA+C,CAC1DD,sBAAsB,CAAC,CAAD,CADjB,CAGP,MAAO,IAAME,uBAAsB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAA/B,CAEP,MAAO,IAAMC,yBAA+C,CAC1DD,sBAAsB,CAAC,CAAD,CADjB,CAGP,MAAO,IAAME,uBAAsB,CAAG,CAAC,QAAD,CAAW,KAAX,CAA/B,CAEP,MAAO,IAAMC,0BAAiD,CAC5DD,sBAAsB,CAAC,CAAD,CADjB"}
|
|
@@ -18,8 +18,8 @@ export declare const choiceGroupViews: readonly ["primary", "ghost", "secondary"
|
|
|
18
18
|
export declare type ChoiceGroupPropView = typeof choiceGroupViews[number];
|
|
19
19
|
export declare const choiceGroupDefaultView: ChoiceGroupPropView;
|
|
20
20
|
export declare const choiceGroupWidth: readonly ["default", "full"];
|
|
21
|
-
export declare type
|
|
22
|
-
export declare const choiceGroupWidthDefault:
|
|
21
|
+
export declare type ChoiceGroupPropWidth = typeof choiceGroupWidth[number];
|
|
22
|
+
export declare const choiceGroupWidthDefault: ChoiceGroupPropWidth;
|
|
23
23
|
export declare type ChoiceGroupPropGetItemLabel<ITEM> = (item: ITEM) => string | number;
|
|
24
24
|
export declare type ChoiceGroupPropGetItemIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
|
|
25
25
|
export declare type ChoiceGroupPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;
|
|
@@ -34,7 +34,7 @@ export declare type ChoiceGroupProps<ITEM = ChoiceGroupDefaultItem, MULTIPLE ext
|
|
|
34
34
|
size?: ChoiceGroupPropSize;
|
|
35
35
|
form?: ChoiceGroupPropForm;
|
|
36
36
|
view?: ChoiceGroupPropView;
|
|
37
|
-
width?:
|
|
37
|
+
width?: ChoiceGroupPropWidth;
|
|
38
38
|
onlyIcon?: boolean;
|
|
39
39
|
iconSize?: IconPropSize;
|
|
40
40
|
items: ITEM[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["choiceGroupForms","choiceGroupDefaultForm","choiceGroupSizes","choiceGroupDefaultSize","choiceGroupViews","choiceGroupDefaultView","choiceGroupWidth","choiceGroupWidthDefault"],"sources":["../../../../../src/components/ChoiceGroup/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type ChoiceGroupDefaultItem = {\n label: string;\n icon?: IconComponent;\n disabled?: boolean;\n attributes?: Omit<\n JSX.IntrinsicElements['label'],\n 'ref' | 'onChange' | 'children'\n >;\n ref?: React.RefObject<HTMLLabelElement>;\n};\n\nexport const choiceGroupForms = ['default', 'brick', 'round'] as const;\nexport type ChoiceGroupPropForm = typeof choiceGroupForms[number];\nexport const choiceGroupDefaultForm: ChoiceGroupPropForm = 'default';\n\nexport const choiceGroupSizes = ['xs', 's', 'm', 'l'] as const;\nexport type ChoiceGroupPropSize = typeof choiceGroupSizes[number];\nexport const choiceGroupDefaultSize: ChoiceGroupPropSize = 'm';\n\nexport const choiceGroupViews = ['primary', 'ghost', 'secondary'] as const;\nexport type ChoiceGroupPropView = typeof choiceGroupViews[number];\nexport const choiceGroupDefaultView: ChoiceGroupPropView = 'primary';\n\nexport const choiceGroupWidth = ['default', 'full'] as const;\nexport type
|
|
1
|
+
{"version":3,"file":"types.js","names":["choiceGroupForms","choiceGroupDefaultForm","choiceGroupSizes","choiceGroupDefaultSize","choiceGroupViews","choiceGroupDefaultView","choiceGroupWidth","choiceGroupWidthDefault"],"sources":["../../../../../src/components/ChoiceGroup/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type ChoiceGroupDefaultItem = {\n label: string;\n icon?: IconComponent;\n disabled?: boolean;\n attributes?: Omit<\n JSX.IntrinsicElements['label'],\n 'ref' | 'onChange' | 'children'\n >;\n ref?: React.RefObject<HTMLLabelElement>;\n};\n\nexport const choiceGroupForms = ['default', 'brick', 'round'] as const;\nexport type ChoiceGroupPropForm = typeof choiceGroupForms[number];\nexport const choiceGroupDefaultForm: ChoiceGroupPropForm = 'default';\n\nexport const choiceGroupSizes = ['xs', 's', 'm', 'l'] as const;\nexport type ChoiceGroupPropSize = typeof choiceGroupSizes[number];\nexport const choiceGroupDefaultSize: ChoiceGroupPropSize = 'm';\n\nexport const choiceGroupViews = ['primary', 'ghost', 'secondary'] as const;\nexport type ChoiceGroupPropView = typeof choiceGroupViews[number];\nexport const choiceGroupDefaultView: ChoiceGroupPropView = 'primary';\n\nexport const choiceGroupWidth = ['default', 'full'] as const;\nexport type ChoiceGroupPropWidth = typeof choiceGroupWidth[number];\nexport const choiceGroupWidthDefault: ChoiceGroupPropWidth =\n choiceGroupWidth[0];\n\nexport type ChoiceGroupPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\nexport type ChoiceGroupPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type ChoiceGroupPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ChoiceGroupPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) =>\n | Omit<JSX.IntrinsicElements['label'], 'ref' | 'onChange' | 'children'>\n | undefined;\nexport type ChoiceGroupPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLLabelElement> | undefined;\n\nexport type ChoiceGroupPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null;\n\nexport type ChoiceGroupPropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n e: React.ChangeEvent<HTMLInputElement>;\n value: MULTIPLE extends true ? ITEM[] | null : ITEM;\n}) => void;\n\nexport type ChoiceGroupProps<\n ITEM = ChoiceGroupDefaultItem,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n size?: ChoiceGroupPropSize;\n form?: ChoiceGroupPropForm;\n view?: ChoiceGroupPropView;\n width?: ChoiceGroupPropWidth;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n items: ITEM[];\n getItemLabel?: ChoiceGroupPropGetItemLabel<ITEM>;\n getItemIcon?: ChoiceGroupPropGetItemIcon<ITEM>;\n getItemAttributes?: ChoiceGroupPropGetItemAttributes<ITEM>;\n getItemRef?: ChoiceGroupPropGetItemRef<ITEM>;\n name: string;\n disabled?: boolean;\n getItemDisabled?: ChoiceGroupPropGetItemDisabled<ITEM>;\n value?: ChoiceGroupPropValue<ITEM, MULTIPLE>;\n onChange?: ChoiceGroupPropOnChange<ITEM, MULTIPLE>;\n multiple?: MULTIPLE;\n truncate?: boolean;\n children?: never;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: ChoiceGroupDefaultItem['label'] }\n ? {}\n : {\n getItemLabel: ChoiceGroupPropGetItemLabel<ITEM>;\n });\n\nexport type ChoiceGroupItemProps = {\n icon?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n label: string;\n name: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n checked: boolean;\n multiple: boolean;\n disabled?: boolean;\n};\n\nexport type ChoiceGroupComponent = <ITEM, MULTIPLE extends boolean = false>(\n props: ChoiceGroupProps<ITEM, MULTIPLE>,\n) => React.ReactElement | null;\n"],"mappings":"AAgBA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,OAArB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,SAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,IAAD,CAAO,GAAP,CAAY,GAAZ,CAAiB,GAAjB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,GAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,WAArB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,SAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,SAAD,CAAY,MAAZ,CAAzB,CAEP,MAAO,IAAMC,wBAA6C,CACxDD,gBAAgB,CAAC,CAAD,CADX"}
|
|
@@ -12,8 +12,8 @@ export declare const choiceGroupViews: readonly ["primary", "ghost", "secondary"
|
|
|
12
12
|
export declare type ChoiceGroupPropView = typeof choiceGroupViews[number];
|
|
13
13
|
export declare const choiceGroupDefaultView: ChoiceGroupPropView;
|
|
14
14
|
export declare const choiceGroupWidth: readonly ["default", "full"];
|
|
15
|
-
export declare type
|
|
16
|
-
export declare const choiceGroupWidthDefault:
|
|
15
|
+
export declare type ChoiceGroupPropWidth = typeof choiceGroupWidth[number];
|
|
16
|
+
export declare const choiceGroupWidthDefault: ChoiceGroupPropWidth;
|
|
17
17
|
export declare type ChoiceGroupPropGetLabel<ITEM> = (item: ITEM) => string | number;
|
|
18
18
|
export declare type ChoiceGroupPropGetIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
|
|
19
19
|
export declare type ChoiceGroupPropValue<ITEM, MULTIPLE extends boolean> = (MULTIPLE extends true ? ITEM[] : ITEM) | null;
|
|
@@ -25,7 +25,7 @@ declare type Props<ITEM, MULTIPLE extends boolean = false> = PropsWithHTMLAttrib
|
|
|
25
25
|
size?: ChoiceGroupPropSize;
|
|
26
26
|
form?: ChoiceGroupPropForm;
|
|
27
27
|
view?: ChoiceGroupPropView;
|
|
28
|
-
width?:
|
|
28
|
+
width?: ChoiceGroupPropWidth;
|
|
29
29
|
onlyIcon?: boolean;
|
|
30
30
|
iconSize?: IconPropSize;
|
|
31
31
|
items: ITEM[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceGroupDeprecated.js","names":["React","useChoiceGroup","cn","getByMap","ChoiceGroupItem","choiceGroupForms","choiceGroupDefaultForm","choiceGroupSizes","choiceGroupDefaultSize","choiceGroupViews","choiceGroupDefaultView","choiceGroupWidth","choiceGroupWidthDefault","sizeMap","xs","s","m","l","cnChoiceGroup","ChoiceGroup","forwardRef","props","ref","size","form","view","width","onlyIcon","iconSizeProp","iconSize","value","multiple","items","getLabel","onChange","getIcon","name","className","disabled","getDisabled","truncate","otherProps","getKey","callBack","getOnChange","getChecked","map","item","idx","itemChecked","itemDisabled","checked","toString"],"sources":["../../../../../src/components/ChoiceGroupDeprecated/ChoiceGroupDeprecated.tsx"],"sourcesContent":["import './ChoiceGroup.css';\n\nimport { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { useChoiceGroup } from '../../hooks/useChoiceGroup/useChoiceGroup';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { ChoiceGroupItem } from './Item/ChoiceGroup-Item';\n\nexport const choiceGroupForms = ['default', 'brick', 'round'] as const;\nexport type ChoiceGroupPropForm = typeof choiceGroupForms[number];\nexport const choiceGroupDefaultForm: ChoiceGroupPropForm = 'default';\n\nexport const choiceGroupSizes = ['xs', 's', 'm', 'l'] as const;\nexport type ChoiceGroupPropSize = typeof choiceGroupSizes[number];\nexport const choiceGroupDefaultSize: ChoiceGroupPropSize = 'm';\n\nexport const choiceGroupViews = ['primary', 'ghost', 'secondary'] as const;\nexport type ChoiceGroupPropView = typeof choiceGroupViews[number];\nexport const choiceGroupDefaultView: ChoiceGroupPropView = 'primary';\n\nexport const choiceGroupWidth = ['default', 'full'] as const;\nexport type
|
|
1
|
+
{"version":3,"file":"ChoiceGroupDeprecated.js","names":["React","useChoiceGroup","cn","getByMap","ChoiceGroupItem","choiceGroupForms","choiceGroupDefaultForm","choiceGroupSizes","choiceGroupDefaultSize","choiceGroupViews","choiceGroupDefaultView","choiceGroupWidth","choiceGroupWidthDefault","sizeMap","xs","s","m","l","cnChoiceGroup","ChoiceGroup","forwardRef","props","ref","size","form","view","width","onlyIcon","iconSizeProp","iconSize","value","multiple","items","getLabel","onChange","getIcon","name","className","disabled","getDisabled","truncate","otherProps","getKey","callBack","getOnChange","getChecked","map","item","idx","itemChecked","itemDisabled","checked","toString"],"sources":["../../../../../src/components/ChoiceGroupDeprecated/ChoiceGroupDeprecated.tsx"],"sourcesContent":["import './ChoiceGroup.css';\n\nimport { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { useChoiceGroup } from '../../hooks/useChoiceGroup/useChoiceGroup';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { ChoiceGroupItem } from './Item/ChoiceGroup-Item';\n\nexport const choiceGroupForms = ['default', 'brick', 'round'] as const;\nexport type ChoiceGroupPropForm = typeof choiceGroupForms[number];\nexport const choiceGroupDefaultForm: ChoiceGroupPropForm = 'default';\n\nexport const choiceGroupSizes = ['xs', 's', 'm', 'l'] as const;\nexport type ChoiceGroupPropSize = typeof choiceGroupSizes[number];\nexport const choiceGroupDefaultSize: ChoiceGroupPropSize = 'm';\n\nexport const choiceGroupViews = ['primary', 'ghost', 'secondary'] as const;\nexport type ChoiceGroupPropView = typeof choiceGroupViews[number];\nexport const choiceGroupDefaultView: ChoiceGroupPropView = 'primary';\n\nexport const choiceGroupWidth = ['default', 'full'] as const;\nexport type ChoiceGroupPropWidth = typeof choiceGroupWidth[number];\nexport const choiceGroupWidthDefault: ChoiceGroupPropWidth =\n choiceGroupWidth[0];\n\nexport type ChoiceGroupPropGetLabel<ITEM> = (item: ITEM) => string | number;\nexport type ChoiceGroupPropGetIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\n\nexport type ChoiceGroupPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null;\n\nexport type ChoiceGroupPropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n e: React.ChangeEvent<HTMLInputElement>;\n value: MULTIPLE extends true ? ITEM[] | null : ITEM;\n}) => void;\n\ntype Props<\n ITEM,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n size?: ChoiceGroupPropSize;\n form?: ChoiceGroupPropForm;\n view?: ChoiceGroupPropView;\n width?: ChoiceGroupPropWidth;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n items: ITEM[];\n getLabel: ChoiceGroupPropGetLabel<ITEM>;\n getIcon?: ChoiceGroupPropGetIcon<ITEM>;\n name: string;\n disabled?: boolean;\n getDisabled?: (item: ITEM) => boolean | undefined;\n value?: ChoiceGroupPropValue<ITEM, MULTIPLE>;\n onChange?: ChoiceGroupPropOnChange<ITEM, MULTIPLE>;\n multiple?: MULTIPLE;\n truncate?: boolean;\n children?: never;\n },\n HTMLDivElement\n>;\n\ntype ChoiceGroupComponent = <ITEM, MULTIPLE extends boolean = false>(\n props: Props<ITEM, MULTIPLE>,\n) => React.ReactElement | null;\n\nconst sizeMap: Record<ChoiceGroupPropSize, IconPropSize> = {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 'm',\n};\n\nexport const cnChoiceGroup = cn('ChoiceGroup');\n\nexport const ChoiceGroup: ChoiceGroupComponent = React.forwardRef(\n (props, ref) => {\n const {\n size = choiceGroupDefaultSize,\n form = choiceGroupDefaultForm,\n view = choiceGroupDefaultView,\n width = choiceGroupWidthDefault,\n onlyIcon,\n iconSize: iconSizeProp,\n value = null,\n multiple = false,\n items,\n getLabel,\n onChange,\n getIcon,\n name,\n className,\n disabled = false,\n getDisabled,\n truncate,\n ...otherProps\n } = props;\n\n type Item = typeof items[number];\n\n const { getOnChange, getChecked } = useChoiceGroup<\n Item,\n React.ChangeEvent<HTMLInputElement>\n >({\n value: value as Item,\n getKey: getLabel,\n callBack: onChange as ChoiceGroupPropOnChange<Item, false>,\n multiple: multiple as false,\n // привел к типам из-за того что\n // TS не понимает что параметры для не Multiple и Multiple не могут прийти одновременно\n });\n\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnChoiceGroup(\n { size, form, view, width, onlyIcon, disabled, truncate },\n [className],\n )}\n >\n {items.map((item, idx) => {\n const itemChecked = getChecked(item);\n const itemDisabled = !!getDisabled && getDisabled(item);\n return (\n <React.Fragment key={getLabel(item)}>\n {idx > 0 && (\n <div\n className={cnChoiceGroup('Divider', {\n checked: itemChecked,\n disabled: itemDisabled,\n })}\n />\n )}\n <ChoiceGroupItem\n onChange={getOnChange(item)}\n checked={itemChecked}\n label={getLabel(item).toString()}\n icon={getIcon && getIcon(item)}\n iconSize={iconSize}\n multiple={multiple}\n onlyIcon={onlyIcon}\n name={name}\n disabled={disabled || itemDisabled}\n />\n </React.Fragment>\n );\n })}\n </div>\n );\n },\n);\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","searchValue","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","onInputChange","searchFunction","selectAll","isLoading","multiple","style","dropdownForm"];import"../SelectComponents/Select.css";import{
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","searchValue","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","onInputChange","searchFunction","selectAll","isLoading","multiple","style","dropdownForm"];import"../SelectComponents/Select.css";import{IconClear}from"@consta/icons/IconClear";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{isNotNil}from"../../utils/type-guards";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{SelectItem}from"../SelectComponents/SelectItem/SelectItem";import{SelectValueTag}from"../SelectComponents/SelectValueTag/SelectValueTag";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{clearSizeMap,iconSizeMap,isMultipleParams,isNotMultipleParams,withDefaultGetters}from"./helpers";export var COMPONENT_NAME="Combobox";var ComboboxRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.required,r=g.dropdownRef,s=g.form,t=void 0===s?defaultPropForm:s,u=g.view,v=void 0===u?defaultPropView:u,w=g.size,x=void 0===w?defaultPropSize:w,y=g.dropdownClassName,z=g.name,A=g.groups,B=void 0===A?[]:A,C=g.getItemLabel,D=g.getItemKey,E=g.getItemGroupKey,F=g.getItemDisabled,G=g.getGroupKey,H=g.getGroupLabel,I=g.renderItem,J=g.searchValue,K=g.renderValue,L=g.onCreate,M=g.inputRef,N=g.labelForNotFound,O=void 0===N?defaultlabelForNotFound:N,P=g.labelForCreate,Q=void 0===P?defaultlabelForCreate:P,R=g.labelForEmptyItems,S=void 0===R?defaultLabelForEmptyItems:R,T=g.onInputChange,U=g.searchFunction,V=g.selectAll,W=g.isLoading,X=g.multiple,Y=void 0!==X&&X,Z=g.style,$=g.dropdownForm,_=void 0===$?"default":$,aa=_objectWithoutProperties(g,_excluded),ba=useSelect({items:k,groups:B,value:m,onChange:l,selectAll:V,dropdownRef:c,controlRef:f,disabled:n,getItemLabel:C,getItemKey:D,getGroupKey:G,searchValue:J,getItemGroupKey:E,getItemDisabled:F,multiple:Y,onBlur:i,onFocus:j,onCreate:L,searchFunction:U}),ca=ba.getKeyProps,da=ba.getOptionProps,ea=ba.isOpen,fa=ba.visibleItems,ga=ba.isFocused,ha=ba.handleInputFocus,ia=ba.handleInputBlur,ja=ba.handleToggleDropdown,ka=ba.inputRef,la=ba.handleInputClick,ma=ba.handleInputChange,na=ba.searchValue,oa=ba.clearValue,pa=ba.getHandleRemoveValue,qa=ba.notFound,ra=ba.hasItems,sa=p?"".concat(p,"-input"):p,ta=K||(Y?function renderValueDefaultMultiple(a){var b=a.item,c=a.handleRemove;return React.createElement(SelectValueTag,{label:C(b),key:D(b),size:x,disabled:n||F(b),handleRemove:c})}:function renderValueDefaultNotMultiple(a){var b=C(a.item);return React.createElement("span",{className:cnSelect("ControlValue"),title:b},b)}),ua=useForkRef([ka,M]),va=function(a){ma(a);var b=a.target.value;n||(null===T||void 0===T?void 0:T({e:a,id:p,name:z,value:b||null}))},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 ta({item:a,handleRemove:pa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&ta({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!na&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ca(),{type:"text",name:z,id:sa,onFocus:ha,onBlur:ia,"aria-label":o,onChange:va,ref:ua,className:cnSelect("Input",{size:x,hide:!Y&&isNotNil(m),multiple:Y}),value:na,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:ga,disabled:n,size:x,view:v,required:q,form:t,multiple:Y,ref:b,type:"combobox",style:Z,id:sa},aa),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":ea,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:la,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue")},wa()):wa())),React.createElement("span",{className:cnSelect("Indicators")},isNotNil(m)&&React.createElement("button",{type:"button",onClick:oa,className:cnSelect("ClearIndicator",[cnMixFocus()])},React.createElement(IconClear,{size:clearSizeMap[x],className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:ja},React.createElement(IconSelect,{size:iconSizeMap[x],className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},na)),React.createElement(SelectDropdown,{isOpen:ea,size:x,controlRef:f,getOptionProps:da,dropdownRef:useForkRef([r,c]),form:_,className:y,renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter;return React.createElement(SelectItem,{label:C(b),active:c,hovered:d,multiple:Y,size:x,indent:"round"===_?"increased":"normal",onClick:e,onMouseEnter:f,disabled:F(b)})},getGroupLabel:H,visibleItems:fa,labelForNotFound:O,labelForCreate:Q,isLoading:W,labelForEmptyItems:S,notFound:qa,hasItems:ra,style:"number"==typeof(null===Z||void 0===Z?void 0:Z.zIndex)?{zIndex:Z.zIndex+1}:void 0}))};export var Combobox=forwardRef(ComboboxRender);export*from"./helpers";
|
|
2
2
|
//# sourceMappingURL=Combobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","names":["IconClose","IconSelect","React","forwardRef","useRef","isNotNil","useForkRef","useSelect","cnMixFocus","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","SelectItem","SelectValueTag","defaultPropForm","defaultPropSize","defaultPropView","isMultipleParams","isNotMultipleParams","withDefaultGetters","COMPONENT_NAME","ComboboxRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","searchValueProp","searchValue","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","onInputChange","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","otherProps","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","inputId","renderValueDefaultMultiple","item","handleRemove","renderValueDefaultNotMultiple","valueLable","inputRefForRender","handleChangeValue","e","target","renderControlValue","width","Array","isArray","map","length","hide","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Combobox"],"sources":["../../../../../src/components/Combobox/Combobox.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 { isNotNil } from '##/utils/type-guards';\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 { SelectItem } from '../SelectComponents/SelectItem/SelectItem';\nimport { SelectValueTag } from '../SelectComponents/SelectValueTag/SelectValueTag';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '../SelectComponents/types';\nimport {\n ComboboxComponent,\n ComboboxProps,\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n withDefaultGetters,\n} from './helpers';\n\nexport const COMPONENT_NAME = 'Combobox' as const;\n\nconst ComboboxRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n required,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n searchValue: searchValueProp,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n onInputChange,\n searchFunction,\n selectAll,\n isLoading,\n multiple = false,\n style,\n dropdownForm = 'default',\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n selectAll,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n searchValue: searchValueProp,\n getItemGroupKey,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction,\n });\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 <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={multiple}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n />\n );\n };\n\n const renderValueDefaultMultiple: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <SelectValueTag\n label={getItemLabel(item)}\n key={getItemKey(item)}\n size={size}\n disabled={disabled || getItemDisabled(item)}\n handleRemove={handleRemove}\n />\n );\n };\n\n const renderValueDefaultNotMultiple: PropRenderValue<ITEM> = (props) => {\n const valueLable = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={valueLable}>\n {valueLable}\n </span>\n );\n };\n\n const renderValue =\n renderValueProp ||\n (multiple ? renderValueDefaultMultiple : renderValueDefaultNotMultiple);\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const handleChangeValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n handleInputChange(e);\n const { value } = e.target;\n !disabled && onInputChange?.({ e, id, name, value: value || null });\n };\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleChangeValue}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n required={required}\n form={form}\n multiple={multiple}\n ref={ref}\n type=\"combobox\"\n style={style}\n id={inputId}\n {...otherProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div className={cnSelect('ControlValue')}>\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isNotNil(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={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n notFound={notFound}\n hasItems={hasItems}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Combobox = forwardRef(ComboboxRender) as ComboboxComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.js","names":["IconClear","IconSelect","React","forwardRef","useRef","isNotNil","useForkRef","useSelect","cnMixFocus","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","SelectItem","SelectValueTag","defaultPropForm","defaultPropSize","defaultPropView","clearSizeMap","iconSizeMap","isMultipleParams","isNotMultipleParams","withDefaultGetters","COMPONENT_NAME","ComboboxRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","searchValueProp","searchValue","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","onInputChange","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","otherProps","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","inputId","renderValueDefaultMultiple","item","handleRemove","renderValueDefaultNotMultiple","valueLable","inputRefForRender","handleChangeValue","e","target","renderControlValue","width","Array","isArray","map","length","hide","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Combobox"],"sources":["../../../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import '../SelectComponents/Select.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { isNotNil } from '##/utils/type-guards';\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 { SelectItem } from '../SelectComponents/SelectItem/SelectItem';\nimport { SelectValueTag } from '../SelectComponents/SelectValueTag/SelectValueTag';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '../SelectComponents/types';\nimport {\n clearSizeMap,\n ComboboxComponent,\n ComboboxProps,\n DefaultGroup,\n DefaultItem,\n iconSizeMap,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n withDefaultGetters,\n} from './helpers';\n\nexport const COMPONENT_NAME = 'Combobox' as const;\n\nconst ComboboxRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n required,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n searchValue: searchValueProp,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n onInputChange,\n searchFunction,\n selectAll,\n isLoading,\n multiple = false,\n style,\n dropdownForm = 'default',\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n selectAll,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n searchValue: searchValueProp,\n getItemGroupKey,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction,\n });\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 <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={multiple}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n />\n );\n };\n\n const renderValueDefaultMultiple: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <SelectValueTag\n label={getItemLabel(item)}\n key={getItemKey(item)}\n size={size}\n disabled={disabled || getItemDisabled(item)}\n handleRemove={handleRemove}\n />\n );\n };\n\n const renderValueDefaultNotMultiple: PropRenderValue<ITEM> = (props) => {\n const valueLable = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={valueLable}>\n {valueLable}\n </span>\n );\n };\n\n const renderValue =\n renderValueProp ||\n (multiple ? renderValueDefaultMultiple : renderValueDefaultNotMultiple);\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const handleChangeValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n handleInputChange(e);\n const { value } = e.target;\n !disabled && onInputChange?.({ e, id, name, value: value || null });\n };\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleChangeValue}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n required={required}\n form={form}\n multiple={multiple}\n ref={ref}\n type=\"combobox\"\n style={style}\n id={inputId}\n {...otherProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div className={cnSelect('ControlValue')}>\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isNotNil(value) && (\n <button\n type=\"button\"\n onClick={clearValue}\n className={cnSelect('ClearIndicator', [cnMixFocus()])}\n >\n <IconClear\n size={clearSizeMap[size]}\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size={iconSizeMap[size]}\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n notFound={notFound}\n hasItems={hasItems}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Combobox = forwardRef(ComboboxRender) as ComboboxComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IconComponent } from '@consta/icons/Icon';
|
|
1
|
+
import { IconComponent, IconPropSize } from '@consta/icons/Icon';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
|
|
4
4
|
import { PropForm, PropSize, PropStatus, PropView, RenderItemProps } from '../SelectComponents/types';
|
|
@@ -177,4 +177,6 @@ export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGr
|
|
|
177
177
|
getGroupLabel: PropGetGroupLabel<DefaultGroup> | PropGetGroupLabel<GROUP>;
|
|
178
178
|
getGroupKey: PropGetGroupKey<DefaultGroup> | PropGetGroupKey<GROUP>;
|
|
179
179
|
};
|
|
180
|
+
export declare const clearSizeMap: Record<PropSize, IconPropSize>;
|
|
181
|
+
export declare const iconSizeMap: Record<PropSize, IconPropSize>;
|
|
180
182
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}export var defaultGetItemKey=function(a){return a.id};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemGroupKey=function(a){return a.groupId};export var defaultGetItemDisabled=function(a){return a.disabled};export var defaultGetGroupKey=function(a){return a.id};export var defaultGetGroupLabel=function(a){return a.label};export var isMultipleParams=function(a){return!!a.multiple};export var isNotMultipleParams=function(a){return!a.multiple};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemKey:a.getItemKey||defaultGetItemKey,getItemGroupKey:a.getItemGroupKey||defaultGetItemGroupKey,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled,getGroupLabel:a.getGroupLabel||defaultGetGroupLabel,getGroupKey:a.getGroupKey||defaultGetGroupKey})}
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}export var defaultGetItemKey=function(a){return a.id};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemGroupKey=function(a){return a.groupId};export var defaultGetItemDisabled=function(a){return a.disabled};export var defaultGetGroupKey=function(a){return a.id};export var defaultGetGroupLabel=function(a){return a.label};export var isMultipleParams=function(a){return!!a.multiple};export var isNotMultipleParams=function(a){return!a.multiple};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemKey:a.getItemKey||defaultGetItemKey,getItemGroupKey:a.getItemGroupKey||defaultGetItemGroupKey,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled,getGroupLabel:a.getGroupLabel||defaultGetGroupLabel,getGroupKey:a.getGroupKey||defaultGetGroupKey})}export var clearSizeMap={xs:"xs",s:"s",m:"s",l:"m"};export var iconSizeMap={xs:"xs",s:"s",m:"m",l:"m"};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/Combobox/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\nimport { TextFieldPropOnChange } from '../TextField/TextField';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null;\n e: React.SyntheticEvent;\n}) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ComboboxProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: PropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n name?: string;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (props: { e: React.SyntheticEvent; label: string }) => void;\n inputRef?: React.Ref<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n onInputChange?: TextFieldPropOnChange;\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n },\n HTMLDivElement\n> &\n (MULTIPLE extends true\n ? {\n selectAll?: boolean;\n }\n : {\n selectAll?: never;\n }) &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBAoIA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey","clearSizeMap","xs","s","m","l","iconSizeMap"],"sources":["../../../../../src/components/Combobox/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\nimport { TextFieldPropOnChange } from '../TextField/TextField';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null;\n e: React.SyntheticEvent;\n}) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ComboboxProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: PropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n name?: string;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (props: { e: React.SyntheticEvent; label: string }) => void;\n inputRef?: React.Ref<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n onInputChange?: TextFieldPropOnChange;\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n },\n HTMLDivElement\n> &\n (MULTIPLE extends true\n ? {\n selectAll?: boolean;\n }\n : {\n selectAll?: never;\n }) &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n\nexport const clearSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n};\n\nexport const iconSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n"],"mappings":"qqBAoIA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD,CAED,MAAO,IAAMe,aAA4C,CAAG,CAC1DC,EAAE,CAAE,IADsD,CAE1DC,CAAC,CAAE,GAFuD,CAG1DC,CAAC,CAAE,GAHuD,CAI1DC,CAAC,CAAE,GAJuD,CAArD,CAOP,MAAO,IAAMC,YAA2C,CAAG,CACzDJ,EAAE,CAAE,IADqD,CAEzDC,CAAC,CAAE,GAFsD,CAGzDC,CAAC,CAAE,GAHsD,CAIzDC,CAAC,CAAE,GAJsD,CAApD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValue","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponents/Select.css";import{
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValue","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponents/Select.css";import{IconClear}from"@consta/icons/IconClear";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponentsCanary/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponentsCanary/helpers";import{SelectContainer}from"../SelectComponentsCanary/SelectContainer";import{SelectDropdown}from"../SelectComponentsCanary/SelectDropdown";import{SelectItem}from"../SelectComponentsCanary/SelectItem";import{SelectValueTag}from"../SelectComponentsCanary/SelectValueTag";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsCanary/types";import{useSelect}from"../SelectComponentsCanary/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{isNotNil}from"../../utils/type-guards";import{Text}from"../Text";import{clearSizeMap,iconSizeMap,isMultipleParams,isNotMultipleParams,withDefaultGetters}from"./helpers";export var COMPONENT_NAME="Combobox";var ComboboxRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.required,r=g.dropdownRef,s=g.form,t=void 0===s?defaultPropForm:s,u=g.view,v=void 0===u?defaultPropView:u,w=g.size,x=void 0===w?defaultPropSize:w,y=g.dropdownClassName,z=g.name,A=g.groups,B=void 0===A?[]:A,C=g.getItemLabel,D=g.getItemKey,E=g.getItemGroupKey,F=g.getItemDisabled,G=g.getGroupKey,H=g.getGroupLabel,I=g.renderItem,J=g.allSelectedAllLabel,K=void 0===J?"\u0412\u0441\u0435":J,L=g.searchValue,M=g.renderValue,N=g.onCreate,O=g.inputRef,P=g.labelForNotFound,Q=void 0===P?defaultlabelForNotFound:P,R=g.labelForCreate,S=void 0===R?defaultlabelForCreate:R,T=g.labelForEmptyItems,U=void 0===T?defaultLabelForEmptyItems:T,V=g.searchFunction,W=g.selectAll,X=g.isLoading,Y=g.multiple,Z=void 0!==Y&&Y,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=g.virtualScroll,ca=g.onScrollToBottom,da=g.onDropdownOpen,ea=g.onSearchValueChange,fa=g.dropdownOpen,ga=g.ignoreOutsideClicksRefs,ha=_objectWithoutProperties(g,_excluded),ia=useSelect({items:k,groups:B,value:m,onChange:l,selectAll:W,dropdownRef:c,controlRef:f,disabled:n,getItemLabel:C,getItemKey:D,getGroupKey:G,searchValue:L,getItemGroupKey:E,getItemDisabled:F,multiple:Z,onBlur:i,onFocus:j,onCreate:N,searchFunction:V,onDropdownOpen:da,onSearchValueChange:ea,dropdownOpen:fa,ignoreOutsideClicksRefs:ga}),ja=ia.getKeyProps,ka=ia.getOptionProps,la=ia.isOpen,ma=ia.visibleItems,na=ia.isFocused,oa=ia.handleInputFocus,pa=ia.handleInputBlur,qa=ia.handleToggleDropdown,ra=ia.inputRef,sa=ia.handleInputClick,ta=ia.handleInputChange,ua=ia.searchValue,va=ia.clearValue,wa=ia.getHandleRemoveValue,xa=ia.notFound,ya=ia.hasItems,za=ia.optionsRefs,Aa=ia.allItemsSelected,Ba=p?"".concat(p,"-input"):p,Ca=M||(Z?function renderValueDefaultMultiple(a){var b=a.item,c=a.handleRemove;return React.createElement(SelectValueTag,{label:C(b),key:D(b),size:x,disabled:n||F(b),handleRemove:c})}:function renderValueDefaultNotMultiple(a){var b=C(a.item);return React.createElement("span",{className:cnSelect("ControlValue"),title:b},b)}),Da=useForkRef([ra,O]),Ea=function(){var b=Z?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return Ca({item:a,handleRemove:wa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&Ca({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!ua&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ja(),{type:"text",name:z,id:Ba,onFocus:oa,onBlur:pa,"aria-label":o,onChange:ta,ref:Da,className:cnSelect("Input",{size:x,hide:!Z&&isNotNil(m),multiple:Z}),value:ua,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:na,disabled:n,size:x,view:v,required:q,form:t,multiple:Z,ref:b,type:"combobox",style:$,id:Ba},ha),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":la,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:sa,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},function renderValueList(){return Aa?React.createElement(Text,{size:x,className:cnSelect("SelectAll")},K):Z?React.createElement("div",{className:cnSelect("ControlValue")},Ea()):Ea()}())),React.createElement("span",{className:cnSelect("Indicators")},isNotNil(m)&&React.createElement("button",{type:"button",onClick:va,tabIndex:-1,className:cnSelect("ClearIndicator")},React.createElement(IconClear,{size:clearSizeMap[x],className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:qa},React.createElement(IconSelect,{size:iconSizeMap[x],className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},ua)),React.createElement(SelectDropdown,{isOpen:la,size:x,controlRef:f,getOptionProps:ka,dropdownRef:useForkRef([r,c]),form:aa,className:y,renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:C(b),active:c,hovered:d,multiple:Z,size:x,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disabled:F(b),ref:g})},getGroupLabel:H,visibleItems:ma,labelForNotFound:Q,labelForCreate:S,isLoading:X,labelForEmptyItems:U,notFound:xa,hasItems:ya,itemsRefs:za,virtualScroll:ba,onScrollToBottom:ca,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var Combobox=forwardRef(ComboboxRender);
|
|
2
2
|
//# sourceMappingURL=ComboboxCanary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxCanary.js","names":["IconClose","IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","SelectItem","SelectValueTag","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","isNotNil","Text","isMultipleParams","isNotMultipleParams","withDefaultGetters","COMPONENT_NAME","ComboboxRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValueProp","searchValue","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","otherProps","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","optionsRefs","allItemsSelected","inputId","renderValueDefaultMultiple","item","handleRemove","renderValueDefaultNotMultiple","valueLable","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","hasInput","renderValueList","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Combobox"],"sources":["../../../../../src/components/ComboboxCanary/ComboboxCanary.tsx"],"sourcesContent":["import '##/components/SelectComponents/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { cnSelect } from '##/components/SelectComponentsCanary/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '##/components/SelectComponentsCanary/helpers';\nimport { SelectContainer } from '##/components/SelectComponentsCanary/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponentsCanary/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponentsCanary/SelectItem';\nimport { SelectValueTag } from '##/components/SelectComponentsCanary/SelectValueTag';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsCanary/types';\nimport { useSelect } from '##/components/SelectComponentsCanary/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { isNotNil } from '##/utils/type-guards';\n\nimport { Text } from '../Text';\nimport {\n ComboboxComponent,\n ComboboxProps,\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n withDefaultGetters,\n} from './helpers';\n\nexport const COMPONENT_NAME = 'Combobox' as const;\n\nconst ComboboxRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n required,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n allSelectedAllLabel = 'Все',\n searchValue: searchValueProp,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n searchFunction,\n selectAll,\n isLoading,\n multiple = false,\n style,\n dropdownForm = 'default',\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n optionsRefs,\n allItemsSelected,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n selectAll,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n searchValue: searchValueProp,\n getItemGroupKey,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={multiple}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n };\n\n const renderValueDefaultMultiple: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <SelectValueTag\n label={getItemLabel(item)}\n key={getItemKey(item)}\n size={size}\n disabled={disabled || getItemDisabled(item)}\n handleRemove={handleRemove}\n />\n );\n };\n\n const renderValueDefaultNotMultiple: PropRenderValue<ITEM> = (props) => {\n const valueLable = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={valueLable}>\n {valueLable}\n </span>\n );\n };\n\n const renderValue =\n renderValueProp ||\n (multiple ? renderValueDefaultMultiple : renderValueDefaultNotMultiple);\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n const renderValueList = () => {\n if (allItemsSelected) {\n return (\n <Text size={size} className={cnSelect('SelectAll')}>\n {allSelectedAllLabel}\n </Text>\n );\n }\n if (multiple) {\n return (\n <div className={cnSelect('ControlValue')}>{renderControlValue()}</div>\n );\n }\n return renderControlValue();\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n required={required}\n form={form}\n multiple={multiple}\n ref={ref}\n type=\"combobox\"\n style={style}\n id={inputId}\n {...otherProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {renderValueList()}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isNotNil(value) && (\n <button\n type=\"button\"\n onClick={clearValue}\n tabIndex={-1}\n className={cnSelect('ClearIndicator')}\n >\n <IconClose\n size=\"xs\"\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n notFound={notFound}\n hasItems={hasItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Combobox = forwardRef(ComboboxRender) as ComboboxComponent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComboboxCanary.js","names":["IconClear","IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","SelectItem","SelectValueTag","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","isNotNil","Text","clearSizeMap","iconSizeMap","isMultipleParams","isNotMultipleParams","withDefaultGetters","COMPONENT_NAME","ComboboxRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValueProp","searchValue","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","otherProps","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","optionsRefs","allItemsSelected","inputId","renderValueDefaultMultiple","item","handleRemove","renderValueDefaultNotMultiple","valueLable","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","hasInput","renderValueList","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Combobox"],"sources":["../../../../../src/components/ComboboxCanary/ComboboxCanary.tsx"],"sourcesContent":["import '##/components/SelectComponents/Select.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { cnSelect } from '##/components/SelectComponentsCanary/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '##/components/SelectComponentsCanary/helpers';\nimport { SelectContainer } from '##/components/SelectComponentsCanary/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponentsCanary/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponentsCanary/SelectItem';\nimport { SelectValueTag } from '##/components/SelectComponentsCanary/SelectValueTag';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsCanary/types';\nimport { useSelect } from '##/components/SelectComponentsCanary/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { isNotNil } from '##/utils/type-guards';\n\nimport { Text } from '../Text';\nimport {\n clearSizeMap,\n ComboboxComponent,\n ComboboxProps,\n DefaultGroup,\n DefaultItem,\n iconSizeMap,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n withDefaultGetters,\n} from './helpers';\n\nexport const COMPONENT_NAME = 'Combobox' as const;\n\nconst ComboboxRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n required,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n allSelectedAllLabel = 'Все',\n searchValue: searchValueProp,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n searchFunction,\n selectAll,\n isLoading,\n multiple = false,\n style,\n dropdownForm = 'default',\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n optionsRefs,\n allItemsSelected,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n selectAll,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n searchValue: searchValueProp,\n getItemGroupKey,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={multiple}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n };\n\n const renderValueDefaultMultiple: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <SelectValueTag\n label={getItemLabel(item)}\n key={getItemKey(item)}\n size={size}\n disabled={disabled || getItemDisabled(item)}\n handleRemove={handleRemove}\n />\n );\n };\n\n const renderValueDefaultNotMultiple: PropRenderValue<ITEM> = (props) => {\n const valueLable = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={valueLable}>\n {valueLable}\n </span>\n );\n };\n\n const renderValue =\n renderValueProp ||\n (multiple ? renderValueDefaultMultiple : renderValueDefaultNotMultiple);\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n const renderValueList = () => {\n if (allItemsSelected) {\n return (\n <Text size={size} className={cnSelect('SelectAll')}>\n {allSelectedAllLabel}\n </Text>\n );\n }\n if (multiple) {\n return (\n <div className={cnSelect('ControlValue')}>{renderControlValue()}</div>\n );\n }\n return renderControlValue();\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n required={required}\n form={form}\n multiple={multiple}\n ref={ref}\n type=\"combobox\"\n style={style}\n id={inputId}\n {...otherProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {renderValueList()}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isNotNil(value) && (\n <button\n type=\"button\"\n onClick={clearValue}\n tabIndex={-1}\n className={cnSelect('ClearIndicator')}\n >\n <IconClear\n size={clearSizeMap[size]}\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size={iconSizeMap[size]}\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n notFound={notFound}\n hasItems={hasItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Combobox = forwardRef(ComboboxRender) as ComboboxComponent;\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IconComponent } from '@consta/icons/Icon';
|
|
1
|
+
import { IconComponent, IconPropSize } from '@consta/icons/Icon';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PropForm, PropSize, PropStatus, PropView, RenderItemProps } from "../SelectComponentsCanary/types";
|
|
4
4
|
import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
@@ -187,4 +187,6 @@ export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGr
|
|
|
187
187
|
getGroupLabel: PropGetGroupLabel<DefaultGroup> | PropGetGroupLabel<GROUP>;
|
|
188
188
|
getGroupKey: PropGetGroupKey<DefaultGroup> | PropGetGroupKey<GROUP>;
|
|
189
189
|
};
|
|
190
|
+
export declare const clearSizeMap: Record<PropSize, IconPropSize>;
|
|
191
|
+
export declare const iconSizeMap: Record<PropSize, IconPropSize>;
|
|
190
192
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}export var defaultGetItemKey=function(a){return a.id};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemGroupKey=function(a){return a.groupId};export var defaultGetItemDisabled=function(a){return a.disabled};export var defaultGetGroupKey=function(a){return a.id};export var defaultGetGroupLabel=function(a){return a.label};export var isMultipleParams=function(a){return!!a.multiple};export var isNotMultipleParams=function(a){return!a.multiple};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemKey:a.getItemKey||defaultGetItemKey,getItemGroupKey:a.getItemGroupKey||defaultGetItemGroupKey,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled,getGroupLabel:a.getGroupLabel||defaultGetGroupLabel,getGroupKey:a.getGroupKey||defaultGetGroupKey})}
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}export var defaultGetItemKey=function(a){return a.id};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemGroupKey=function(a){return a.groupId};export var defaultGetItemDisabled=function(a){return a.disabled};export var defaultGetGroupKey=function(a){return a.id};export var defaultGetGroupLabel=function(a){return a.label};export var isMultipleParams=function(a){return!!a.multiple};export var isNotMultipleParams=function(a){return!a.multiple};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemKey:a.getItemKey||defaultGetItemKey,getItemGroupKey:a.getItemGroupKey||defaultGetItemGroupKey,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled,getGroupLabel:a.getGroupLabel||defaultGetGroupLabel,getGroupKey:a.getGroupKey||defaultGetGroupKey})}export var clearSizeMap={xs:"xs",s:"s",m:"s",l:"m"};export var iconSizeMap={xs:"xs",s:"s",m:"m",l:"m"};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/ComboboxCanary/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '##/components/SelectComponentsCanary/types';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ComboboxProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: PropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n name?: string;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (label: string, props: { e: React.SyntheticEvent }) => void;\n inputRef?: React.Ref<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n virtualScroll?: boolean;\n onScrollToBottom?: () => void;\n onSearchValueChange?: (value: string) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (MULTIPLE extends true\n ? {\n selectAll?: boolean;\n allSelectedAllLabel?: string;\n }\n : {\n selectAll?: never;\n allSelectedAllLabel?: never;\n }) &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBA4IA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey","clearSizeMap","xs","s","m","l","iconSizeMap"],"sources":["../../../../../src/components/ComboboxCanary/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '##/components/SelectComponentsCanary/types';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ComboboxProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: PropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n name?: string;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (label: string, props: { e: React.SyntheticEvent }) => void;\n inputRef?: React.Ref<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n virtualScroll?: boolean;\n onScrollToBottom?: () => void;\n onSearchValueChange?: (value: string) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (MULTIPLE extends true\n ? {\n selectAll?: boolean;\n allSelectedAllLabel?: string;\n }\n : {\n selectAll?: never;\n allSelectedAllLabel?: never;\n }) &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n\nexport const clearSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n};\n\nexport const iconSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n"],"mappings":"qqBA4IA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD,CAED,MAAO,IAAMe,aAA4C,CAAG,CAC1DC,EAAE,CAAE,IADsD,CAE1DC,CAAC,CAAE,GAFuD,CAG1DC,CAAC,CAAE,GAHuD,CAI1DC,CAAC,CAAE,GAJuD,CAArD,CAOP,MAAO,IAAMC,YAA2C,CAAG,CACzDJ,EAAE,CAAE,IADqD,CAEzDC,CAAC,CAAE,GAFsD,CAGzDC,CAAC,CAAE,GAHsD,CAIzDC,CAAC,CAAE,GAJsD,CAApD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DateTimePropOnChange, DateTimePropOnChangeRange, DateTimePropValue, HandleSelectDate
|
|
1
|
+
import { CapableRangeType, DateTimePropOnChange, DateTimePropOnChangeRange, DateTimePropValue, HandleSelectDate } from './types';
|
|
2
2
|
declare type GetHandleSelectDateProps = {
|
|
3
3
|
isEqualUnit: (date1: Date, date2: Date) => boolean;
|
|
4
|
-
value?: DateTimePropValue
|
|
4
|
+
value?: DateTimePropValue<CapableRangeType>;
|
|
5
5
|
onChange?: DateTimePropOnChange;
|
|
6
|
-
onChangeRange?: DateTimePropOnChangeRange
|
|
6
|
+
onChangeRange?: DateTimePropOnChangeRange<CapableRangeType>;
|
|
7
7
|
minDate?: Date;
|
|
8
8
|
maxDate?: Date;
|
|
9
9
|
};
|