@ozen-ui/kit 0.57.0 → 0.58.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/AutocompleteNext/package.json +5 -0
- package/__inner__/cjs/components/Autocomplete/Autocomplete.d.ts +3 -0
- package/__inner__/cjs/components/Autocomplete/Autocomplete.js +7 -0
- package/__inner__/cjs/components/Autocomplete/helper.d.ts +2 -10
- package/__inner__/cjs/components/AutocompleteNext/Autocomplete.css +226 -0
- package/__inner__/cjs/components/AutocompleteNext/Autocomplete.d.ts +4 -0
- package/__inner__/cjs/components/AutocompleteNext/Autocomplete.js +216 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/AutocompleteDropdown.d.ts +2 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/AutocompleteDropdown.js +156 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.css +7 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.d.ts +6 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.js +18 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/index.d.ts +1 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/index.js +4 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/AutocompleteDropdownLoading.d.ts +6 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/AutocompleteDropdownLoading.js +23 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/index.d.ts +1 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/index.js +4 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/AutocompleteDropdownNoOptions.d.ts +6 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/AutocompleteDropdownNoOptions.js +17 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/index.d.ts +1 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/index.js +4 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/index.d.ts +3 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/components/index.js +6 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/constants.d.ts +3 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/constants.js +6 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/helpers.d.ts +17 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/helpers.js +36 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/index.d.ts +3 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/index.js +6 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/types.d.ts +45 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/types.js +2 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/index.d.ts +2 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/index.js +5 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/useDataListNavigation.d.ts +20 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/useDataListNavigation.js +71 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/useScrollContainerToElement.d.ts +3 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteDropdown/utils/useScrollContainerToElement.js +15 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/AutocompleteInput.d.ts +2 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/AutocompleteInput.js +38 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/AutocompleteInputMultiple.d.ts +2 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/AutocompleteInputMultiple.js +112 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/helpers.d.ts +5 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/helpers.js +36 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/index.d.ts +1 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/index.js +4 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/types.d.ts +17 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/components/types.js +2 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/helpers.d.ts +3 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/index.d.ts +2 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/index.js +5 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/types.d.ts +26 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteInput/types.js +2 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteRenderRight/AutocompleteRenderRight.d.ts +8 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteRenderRight/AutocompleteRenderRight.js +28 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteRenderRight/index.d.ts +1 -0
- package/__inner__/cjs/components/AutocompleteNext/components/AutocompleteRenderRight/index.js +4 -0
- package/__inner__/cjs/components/AutocompleteNext/components/index.d.ts +3 -0
- package/__inner__/cjs/components/AutocompleteNext/components/index.js +6 -0
- package/__inner__/cjs/components/AutocompleteNext/constants.d.ts +10 -0
- package/__inner__/cjs/components/AutocompleteNext/constants.js +13 -0
- package/__inner__/cjs/components/AutocompleteNext/helpers.d.ts +152 -0
- package/__inner__/cjs/components/AutocompleteNext/helpers.js +18 -0
- package/__inner__/cjs/components/AutocompleteNext/index.d.ts +2 -0
- package/__inner__/cjs/components/AutocompleteNext/index.js +5 -0
- package/__inner__/cjs/components/AutocompleteNext/types.d.ts +133 -0
- package/__inner__/cjs/components/AutocompleteNext/types.js +2 -0
- package/__inner__/cjs/components/DataList/DataList.js +18 -25
- package/__inner__/cjs/components/DataList/helpers.d.ts +3 -0
- package/__inner__/cjs/components/DataList/helpers.js +7 -0
- package/__inner__/cjs/components/DataList/{helpers → utils}/index.d.ts +0 -1
- package/__inner__/cjs/components/DataList/{helpers → utils}/index.js +0 -1
- package/__inner__/cjs/components/DatePicker/DatePicker.d.ts +2 -2
- package/__inner__/cjs/components/DatePicker/DatePicker.js +1 -1
- package/__inner__/cjs/components/FieldControl/FieldControl.css +4 -0
- package/__inner__/cjs/components/FieldInput/FieldInput.d.ts +1 -9
- package/__inner__/cjs/components/FieldInput/FieldInput.js +9 -4
- package/__inner__/cjs/components/FieldInput/constants.d.ts +1 -0
- package/__inner__/cjs/components/FieldInput/constants.js +4 -0
- package/__inner__/cjs/components/FieldInput/index.d.ts +1 -0
- package/__inner__/cjs/components/FieldInput/index.js +1 -0
- package/__inner__/cjs/components/FieldInput/types.d.ts +11 -0
- package/__inner__/cjs/components/FieldInput/types.js +2 -0
- package/__inner__/cjs/components/FieldLabel/FieldLabel.css +1 -0
- package/__inner__/cjs/components/Grid/Grid.css +4 -0
- package/__inner__/cjs/components/Input/Input.css +6 -9
- package/__inner__/cjs/components/Input/types.d.ts +2 -3
- package/__inner__/cjs/components/InputNumber/InputNumber.css +0 -5
- package/__inner__/cjs/components/Tag/Tag.css +1 -0
- package/__inner__/cjs/components/TagNext/Tag.css +11 -4
- package/__inner__/cjs/components/TagNext/Tag.js +1 -1
- package/__inner__/cjs/components/TagNext/constants.d.ts +1 -1
- package/__inner__/cjs/components/TagNext/constants.js +2 -2
- package/__inner__/cjs/components/TagNext/types.d.ts +6 -3
- package/__inner__/cjs/components/Textarea/Textarea.css +0 -5
- package/__inner__/cjs/components/ThemeProvider/types.d.ts +2 -0
- package/__inner__/cjs/hooks/useElementSize/index.d.ts +1 -0
- package/__inner__/cjs/hooks/useElementSize/index.js +4 -0
- package/__inner__/cjs/hooks/useElementSize/useElementSize.d.ts +6 -0
- package/__inner__/cjs/hooks/useElementSize/useElementSize.js +11 -0
- package/__inner__/cjs/hooks/useResizeObserver/index.d.ts +1 -0
- package/__inner__/cjs/hooks/useResizeObserver/index.js +4 -0
- package/__inner__/cjs/hooks/useResizeObserver/useResizeObserver.d.ts +4 -0
- package/__inner__/cjs/hooks/useResizeObserver/useResizeObserver.js +50 -0
- package/__inner__/cjs/locale/locale.js +21 -0
- package/__inner__/cjs/utils/isNotNil.d.ts +1 -0
- package/__inner__/cjs/utils/isNotNil.js +7 -0
- package/__inner__/esm/components/Autocomplete/Autocomplete.d.ts +3 -0
- package/__inner__/esm/components/Autocomplete/Autocomplete.js +7 -0
- package/__inner__/esm/components/Autocomplete/helper.d.ts +2 -10
- package/__inner__/esm/components/AutocompleteNext/Autocomplete.css +226 -0
- package/__inner__/esm/components/AutocompleteNext/Autocomplete.d.ts +4 -0
- package/__inner__/esm/components/AutocompleteNext/Autocomplete.js +213 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/AutocompleteDropdown.d.ts +2 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/AutocompleteDropdown.js +153 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.css +7 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.d.ts +6 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/AutocompleteDropdownCheckIcon.js +13 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/index.d.ts +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownCheckIcon/index.js +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/AutocompleteDropdownLoading.d.ts +6 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/AutocompleteDropdownLoading.js +18 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/index.d.ts +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownLoading/index.js +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/AutocompleteDropdownNoOptions.d.ts +6 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/AutocompleteDropdownNoOptions.js +12 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/index.d.ts +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/AutocompleteDropdownNoOptions/index.js +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/index.d.ts +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/components/index.js +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/constants.d.ts +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/constants.js +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/helpers.d.ts +17 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/helpers.js +30 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/index.d.ts +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/index.js +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/types.d.ts +45 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/types.js +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/index.d.ts +2 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/index.js +2 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/useDataListNavigation.d.ts +20 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/useDataListNavigation.js +67 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/useScrollContainerToElement.d.ts +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteDropdown/utils/useScrollContainerToElement.js +11 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/AutocompleteInput.d.ts +2 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/AutocompleteInput.js +35 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/AutocompleteInputMultiple.d.ts +2 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/AutocompleteInputMultiple.js +109 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/helpers.d.ts +5 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/helpers.js +29 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/index.d.ts +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/index.js +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/types.d.ts +17 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/components/types.js +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/helpers.d.ts +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/index.d.ts +2 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/index.js +2 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/types.d.ts +26 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteInput/types.js +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteRenderRight/AutocompleteRenderRight.d.ts +8 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteRenderRight/AutocompleteRenderRight.js +24 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteRenderRight/index.d.ts +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/AutocompleteRenderRight/index.js +1 -0
- package/__inner__/esm/components/AutocompleteNext/components/index.d.ts +3 -0
- package/__inner__/esm/components/AutocompleteNext/components/index.js +3 -0
- package/__inner__/esm/components/AutocompleteNext/constants.d.ts +10 -0
- package/__inner__/esm/components/AutocompleteNext/constants.js +10 -0
- package/__inner__/esm/components/AutocompleteNext/helpers.d.ts +152 -0
- package/__inner__/esm/components/AutocompleteNext/helpers.js +9 -0
- package/__inner__/esm/components/AutocompleteNext/index.d.ts +2 -0
- package/__inner__/esm/components/AutocompleteNext/index.js +2 -0
- package/__inner__/esm/components/AutocompleteNext/types.d.ts +133 -0
- package/__inner__/esm/components/AutocompleteNext/types.js +1 -0
- package/__inner__/esm/components/DataList/DataList.js +17 -24
- package/__inner__/esm/components/DataList/helpers.d.ts +3 -0
- package/__inner__/esm/components/DataList/helpers.js +2 -0
- package/__inner__/esm/components/DataList/{helpers → utils}/index.d.ts +0 -1
- package/__inner__/esm/components/DataList/{helpers → utils}/index.js +0 -1
- package/__inner__/esm/components/DatePicker/DatePicker.d.ts +2 -2
- package/__inner__/esm/components/DatePicker/DatePicker.js +1 -1
- package/__inner__/esm/components/FieldControl/FieldControl.css +4 -0
- package/__inner__/esm/components/FieldInput/FieldInput.d.ts +1 -9
- package/__inner__/esm/components/FieldInput/FieldInput.js +8 -3
- package/__inner__/esm/components/FieldInput/constants.d.ts +1 -0
- package/__inner__/esm/components/FieldInput/constants.js +1 -0
- package/__inner__/esm/components/FieldInput/index.d.ts +1 -0
- package/__inner__/esm/components/FieldInput/index.js +1 -0
- package/__inner__/esm/components/FieldInput/types.d.ts +11 -0
- package/__inner__/esm/components/FieldInput/types.js +1 -0
- package/__inner__/esm/components/FieldLabel/FieldLabel.css +1 -0
- package/__inner__/esm/components/Grid/Grid.css +4 -0
- package/__inner__/esm/components/Input/Input.css +6 -9
- package/__inner__/esm/components/Input/types.d.ts +2 -3
- package/__inner__/esm/components/InputNumber/InputNumber.css +0 -5
- package/__inner__/esm/components/Tag/Tag.css +1 -0
- package/__inner__/esm/components/TagNext/Tag.css +11 -4
- package/__inner__/esm/components/TagNext/Tag.js +2 -2
- package/__inner__/esm/components/TagNext/constants.d.ts +1 -1
- package/__inner__/esm/components/TagNext/constants.js +1 -1
- package/__inner__/esm/components/TagNext/types.d.ts +6 -3
- package/__inner__/esm/components/Textarea/Textarea.css +0 -5
- package/__inner__/esm/components/ThemeProvider/types.d.ts +2 -0
- package/__inner__/esm/hooks/useElementSize/index.d.ts +1 -0
- package/__inner__/esm/hooks/useElementSize/index.js +1 -0
- package/__inner__/esm/hooks/useElementSize/useElementSize.d.ts +6 -0
- package/__inner__/esm/hooks/useElementSize/useElementSize.js +7 -0
- package/__inner__/esm/hooks/useResizeObserver/index.d.ts +1 -0
- package/__inner__/esm/hooks/useResizeObserver/index.js +1 -0
- package/__inner__/esm/hooks/useResizeObserver/useResizeObserver.d.ts +4 -0
- package/__inner__/esm/hooks/useResizeObserver/useResizeObserver.js +46 -0
- package/__inner__/esm/locale/locale.js +21 -0
- package/__inner__/esm/utils/isNotNil.d.ts +1 -0
- package/__inner__/esm/utils/isNotNil.js +3 -0
- package/package.json +4 -4
- package/useElementSize/package.json +5 -0
- package/useResizeObserver/package.json +5 -0
- package/__inner__/cjs/components/DataList/helpers/types.d.ts +0 -10
- package/__inner__/esm/components/DataList/helpers/types.d.ts +0 -10
- /package/__inner__/cjs/components/{DataList/helpers/types.js → AutocompleteNext/components/AutocompleteInput/helpers.js} +0 -0
- /package/__inner__/cjs/components/DataList/{helpers → utils}/lastSelectedValue.d.ts +0 -0
- /package/__inner__/cjs/components/DataList/{helpers → utils}/lastSelectedValue.js +0 -0
- /package/__inner__/cjs/components/DataList/{helpers → utils}/useDataListNavigation.d.ts +0 -0
- /package/__inner__/cjs/components/DataList/{helpers → utils}/useDataListNavigation.js +0 -0
- /package/__inner__/cjs/components/DataList/{helpers → utils}/useScrollContainerToElement.d.ts +0 -0
- /package/__inner__/cjs/components/DataList/{helpers → utils}/useScrollContainerToElement.js +0 -0
- /package/__inner__/esm/components/{DataList/helpers/types.js → AutocompleteNext/components/AutocompleteInput/helpers.js} +0 -0
- /package/__inner__/esm/components/DataList/{helpers → utils}/lastSelectedValue.d.ts +0 -0
- /package/__inner__/esm/components/DataList/{helpers → utils}/lastSelectedValue.js +0 -0
- /package/__inner__/esm/components/DataList/{helpers → utils}/useDataListNavigation.d.ts +0 -0
- /package/__inner__/esm/components/DataList/{helpers → utils}/useDataListNavigation.js +0 -0
- /package/__inner__/esm/components/DataList/{helpers → utils}/useScrollContainerToElement.d.ts +0 -0
- /package/__inner__/esm/components/DataList/{helpers → utils}/useScrollContainerToElement.js +0 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { ChangeEvent, HTMLAttributes, ReactElement, ReactNode, Ref, SyntheticEvent } from 'react';
|
|
2
|
+
import type { TagProps, TagRef } from '../../components/TagNext';
|
|
3
|
+
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
4
|
+
import type { InputProps, InputRef } from '../Input';
|
|
5
|
+
import type { AutocompleteDropdownProps } from './components';
|
|
6
|
+
export type AutocompleteRenderOptionProps<OPTION> = {
|
|
7
|
+
option: OPTION;
|
|
8
|
+
state: {
|
|
9
|
+
key?: string | number;
|
|
10
|
+
selected?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
focused?: boolean;
|
|
13
|
+
};
|
|
14
|
+
props: HTMLAttributes<HTMLElement> & {
|
|
15
|
+
key?: string | number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export type AutocompletePropValue<OPTION, MULTIPLE extends boolean> = (MULTIPLE extends true ? OPTION[] : OPTION) | null | undefined;
|
|
19
|
+
export type AutocompletePropGetOptionLabel<OPTION> = (option: OPTION) => string;
|
|
20
|
+
export type AutocompletePropGetOptionKey<OPTION> = (option: OPTION) => string | number;
|
|
21
|
+
export type AutocompletePropRenderValue<OPTION> = (value: OPTION) => ReactNode | null;
|
|
22
|
+
export type AutocompletePropGetOptionDisabled<OPTION> = (option: OPTION) => boolean | undefined;
|
|
23
|
+
export type AutocompletePropRenderOption<OPTION> = (props: AutocompleteRenderOptionProps<OPTION>) => ReactElement | null;
|
|
24
|
+
export type AutocompleteDefaultOption = {
|
|
25
|
+
id: string | number;
|
|
26
|
+
label: string;
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
};
|
|
29
|
+
export type AutocompletePropSearchFunction<OPTION> = (options: OPTION[], searchValue: string) => OPTION[];
|
|
30
|
+
export type AutocompletePropRenderInput = (props: InputProps, ref?: Ref<InputRef>) => ReactNode;
|
|
31
|
+
export type AutocompletePropRenderTag = (props: TagProps, ref?: Ref<TagRef>) => ReactNode;
|
|
32
|
+
export type AutocompleteRenderMoreTagProps<OPTION> = {
|
|
33
|
+
props: TagProps;
|
|
34
|
+
omittedValues?: AutocompletePropValue<OPTION, true>;
|
|
35
|
+
};
|
|
36
|
+
export type AutocompletePropRenderMoreTag<OPTION> = (props: AutocompleteRenderMoreTagProps<OPTION>, ref?: Ref<TagRef>) => ReactNode;
|
|
37
|
+
type AutocompleteOpenControlledProps = {
|
|
38
|
+
/** Текущее состояние списка. Если `true`, список отображается. */
|
|
39
|
+
open?: boolean;
|
|
40
|
+
/** Состояние открытие по умолчанию (неконтролируемый компонент) */
|
|
41
|
+
defaultOpen?: never;
|
|
42
|
+
};
|
|
43
|
+
type AutocompleteOpenUncontrolledProps = {
|
|
44
|
+
/** Текущее состояние списка. Если `true`, список отображается. */
|
|
45
|
+
open?: never;
|
|
46
|
+
/** Состояние открытие по умолчанию (неконтролируемый компонент) */
|
|
47
|
+
defaultOpen?: boolean;
|
|
48
|
+
};
|
|
49
|
+
type AutocompleteInputProps = Pick<InputProps, 'hint' | 'style' | 'error' | 'label' | 'disabled' | 'required' | 'autoFocus' | 'fullWidth' | 'className' | 'hintProps' | 'bodyProps' | 'onKeyDown' | 'inputProps' | 'renderLeft' | 'renderRight' | 'placeholder' | 'disableStroke'>;
|
|
50
|
+
export type AutocompleteOnChange<OPTION, MULTIPLE extends boolean> = (e: SyntheticEvent | KeyboardEvent, value: (MULTIPLE extends true ? OPTION[] : OPTION) | null) => void;
|
|
51
|
+
export type AutocompleteOnInputChange = (e: ChangeEvent<HTMLInputElement> | null, value: string) => void;
|
|
52
|
+
export type AutocompleteRef = InputRef;
|
|
53
|
+
export type AutocompletePropSize = FormElementSizeVariant;
|
|
54
|
+
export type AutocompleteProps<OPTION = AutocompleteDefaultOption, MULTIPLE extends boolean = false> = {
|
|
55
|
+
/** Если {true} из списка можно выбрать несколько вариантов */
|
|
56
|
+
multiple?: MULTIPLE;
|
|
57
|
+
/** Задает максимальное количество отображаемых тегов в компоненте с множественным выбором */
|
|
58
|
+
limitTags?: number | 'responsive';
|
|
59
|
+
/** Функция для кастомизации тега выбранного значения в компоненте с множественным выбором */
|
|
60
|
+
renderTag?: AutocompletePropRenderTag;
|
|
61
|
+
/** Функция для кастомизации тега «more», который отображается в случае скрытия элементов в компоненте с множественным выбором */
|
|
62
|
+
renderMoreTag?: AutocompletePropRenderMoreTag<OPTION>;
|
|
63
|
+
/** Список вариантов выбора (опции) */
|
|
64
|
+
options: OPTION[];
|
|
65
|
+
/** Размер */
|
|
66
|
+
size?: AutocompletePropSize;
|
|
67
|
+
/** Выбранное значение опции */
|
|
68
|
+
value?: AutocompletePropValue<OPTION, MULTIPLE>;
|
|
69
|
+
/** Выбранное значение опции по умолчанию */
|
|
70
|
+
defaultValue?: AutocompletePropValue<OPTION, MULTIPLE>;
|
|
71
|
+
/** Функция обратного вызова, которая будет вызвана при выборе значения */
|
|
72
|
+
onChange?: AutocompleteOnChange<OPTION, MULTIPLE>;
|
|
73
|
+
/** Введённое значение в текстовом поле */
|
|
74
|
+
inputValue?: string;
|
|
75
|
+
/** Функция обратного вызова, которая будет вызвана при вводе значения с клавиатуры */
|
|
76
|
+
onInputChange?: AutocompleteOnInputChange;
|
|
77
|
+
/** Функция для кастомизации текстового поля */
|
|
78
|
+
renderInput?: AutocompletePropRenderInput;
|
|
79
|
+
/** Функция для кастомизации отображения опции */
|
|
80
|
+
renderOption?: AutocompletePropRenderOption<OPTION>;
|
|
81
|
+
/** Функция для определения названия элемента */
|
|
82
|
+
getOptionLabel?: AutocompletePropGetOptionLabel<OPTION>;
|
|
83
|
+
/** Функция для определения уникального ключа элемента */
|
|
84
|
+
getOptionKey?: AutocompletePropGetOptionKey<OPTION>;
|
|
85
|
+
/** Функция для определения заблокированного элемента */
|
|
86
|
+
getOptionDisabled?: AutocompletePropGetOptionDisabled<OPTION>;
|
|
87
|
+
/** Если {true} не закрывает выпадающий список при выборе опции */
|
|
88
|
+
disableCloseOnSelect?: boolean;
|
|
89
|
+
/** Если {true} позволяет вводить кастомное значение в текстовом поле */
|
|
90
|
+
allowCustomValue?: boolean;
|
|
91
|
+
/** Если {true} отображает статус загрузки (при условии отсутствующих опций) */
|
|
92
|
+
loading?: boolean;
|
|
93
|
+
/** Текст компонента при отсутствующих опций */
|
|
94
|
+
noOptionsText?: ReactNode;
|
|
95
|
+
/** Текст для кнопки очистки поля */
|
|
96
|
+
clearText?: string;
|
|
97
|
+
/** Текст для кнопки открытия выпадающего списка */
|
|
98
|
+
openText?: string;
|
|
99
|
+
/** Текст для кнопки закрытия выпадающего списка */
|
|
100
|
+
closeText?: string;
|
|
101
|
+
/** Текст компонента в состоянии загрузки */
|
|
102
|
+
loadingText?: ReactNode;
|
|
103
|
+
/** Функция обратного вызова, которая будет вызвана когда компонент запрашивает закрытие */
|
|
104
|
+
onClose?(): void;
|
|
105
|
+
/** Функция обратного вызова, которая будет вызвана когда компонент запрашивает открытие */
|
|
106
|
+
onOpen?(): void;
|
|
107
|
+
/** Если {true}, то не отображает кнопку закрытия */
|
|
108
|
+
disableClearButton?: boolean;
|
|
109
|
+
/** Функция поиска */
|
|
110
|
+
searchFunction?: AutocompletePropSearchFunction<OPTION>;
|
|
111
|
+
/** Если {true} не показывает список с отсутствующими опциями */
|
|
112
|
+
disableShowEmptyOptionsList?: boolean;
|
|
113
|
+
/** Если {true} скрывает кнопку раскрытия/скрытия списка */
|
|
114
|
+
disableShowChevron?: boolean;
|
|
115
|
+
/** Свойства компонента Popover */
|
|
116
|
+
popoverProps?: AutocompleteDropdownProps['popoverProps'];
|
|
117
|
+
/** Свойства компонента List */
|
|
118
|
+
listProps?: AutocompleteDropdownProps['listProps'];
|
|
119
|
+
} & AutocompleteInputProps & (AutocompleteOpenControlledProps | AutocompleteOpenUncontrolledProps) & (OPTION extends {
|
|
120
|
+
label: AutocompleteDefaultOption['label'];
|
|
121
|
+
} ? Record<string, unknown> : {
|
|
122
|
+
getOptionLabel?: AutocompletePropGetOptionLabel<OPTION>;
|
|
123
|
+
}) & (OPTION extends {
|
|
124
|
+
id: AutocompleteDefaultOption['id'];
|
|
125
|
+
} ? Record<string, unknown> : {
|
|
126
|
+
getOptionKey?: AutocompletePropGetOptionKey<OPTION>;
|
|
127
|
+
}) & (OPTION extends {
|
|
128
|
+
disabled: AutocompleteDefaultOption['disabled'];
|
|
129
|
+
} ? Record<string, unknown> : {
|
|
130
|
+
getOptionDisabled?: AutocompletePropGetOptionDisabled<OPTION>;
|
|
131
|
+
});
|
|
132
|
+
export type AutocompleteComponent = <OPTION = AutocompleteDefaultOption, MULTIPLE extends boolean = false>(props: AutocompleteProps<OPTION, MULTIPLE>) => ReactElement | null;
|
|
133
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -15,11 +15,12 @@ import { scrollContainerToElement } from '../../utils/scrollContainerToElement';
|
|
|
15
15
|
import { List } from '../List';
|
|
16
16
|
import { Popover } from '../Popover';
|
|
17
17
|
import { DATA_LIST_DEFAULT_SIZE, DATA_LIST_DEFAULT_OPEN, DATA_LIST_DEFAULT_TAG, } from './constants';
|
|
18
|
-
import {
|
|
18
|
+
import { isMultipleParams, isNotMultipleParams } from './helpers';
|
|
19
19
|
import { DataListOption } from './index';
|
|
20
|
+
import { lastSelectedValue, useDataListNavigation } from './utils';
|
|
20
21
|
export var cnDataList = cn('DataList');
|
|
21
22
|
var DataListRender = function (inProps, ref) {
|
|
22
|
-
var _a = useThemeProps({ props: inProps, name: 'DataList' }), _b = _a.
|
|
23
|
+
var _a = useThemeProps({ props: inProps, name: 'DataList' }), _b = _a.as, as = _b === void 0 ? DATA_LIST_DEFAULT_TAG : _b, _c = _a.open, open = _c === void 0 ? DATA_LIST_DEFAULT_OPEN : _c, _d = _a.size, size = _d === void 0 ? DATA_LIST_DEFAULT_SIZE : _d, name = _a.name, onClose = _a.onClose, children = _a.children, listProps = _a.listProps, anchorRef = _a.anchorRef, className = _a.className, defaultSelected = _a.defaultSelected, onSelectProp = _a.onSelect, selectedProp = _a.selected, other = __rest(_a, ["as", "open", "size", "name", "onClose", "children", "listProps", "anchorRef", "className", "defaultSelected", "onSelect", "selected"]);
|
|
23
24
|
var dataListRef = useRef(null);
|
|
24
25
|
var listRef = useRef(null);
|
|
25
26
|
var radius = getPaperSizeToFormElement(size);
|
|
@@ -48,24 +49,21 @@ var DataListRender = function (inProps, ref) {
|
|
|
48
49
|
});
|
|
49
50
|
}, [children]);
|
|
50
51
|
var handleSelect = function (event, value) {
|
|
51
|
-
var
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
selected: selectedState,
|
|
55
|
-
setSelected: setSelected,
|
|
52
|
+
var onSelect = function (e, payload) {
|
|
53
|
+
setSelected(payload.value);
|
|
54
|
+
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(e, payload);
|
|
56
55
|
};
|
|
56
|
+
var params = __assign(__assign({}, inProps), { onSelect: onSelect, selected: selectedState });
|
|
57
|
+
if (isNotMultipleParams(params)) {
|
|
58
|
+
var onSelect_1 = params.onSelect;
|
|
59
|
+
onSelect_1 === null || onSelect_1 === void 0 ? void 0 : onSelect_1(event, { name: name, value: value });
|
|
60
|
+
}
|
|
57
61
|
if (isMultipleParams(params)) {
|
|
58
|
-
var selected = params.selected,
|
|
62
|
+
var selected = params.selected, onSelect_2 = params.onSelect;
|
|
59
63
|
var res = (selected === null || selected === void 0 ? void 0 : selected.includes(value || ''))
|
|
60
64
|
? selected.filter(function (item) { return item !== value; })
|
|
61
65
|
: __spreadArray(__spreadArray([], __read((selected || [])), false), [value], false);
|
|
62
|
-
|
|
63
|
-
setSelected_1(res);
|
|
64
|
-
}
|
|
65
|
-
if (isNotMultipleParams(params)) {
|
|
66
|
-
var onSelect = params.onSelect, setSelected_2 = params.setSelected;
|
|
67
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(event, { name: name, value: value });
|
|
68
|
-
setSelected_2(value);
|
|
66
|
+
onSelect_2 === null || onSelect_2 === void 0 ? void 0 : onSelect_2(event, { name: name, value: res });
|
|
69
67
|
}
|
|
70
68
|
};
|
|
71
69
|
var handleOnMouseDownList = function (e) {
|
|
@@ -75,8 +73,8 @@ var DataListRender = function (inProps, ref) {
|
|
|
75
73
|
};
|
|
76
74
|
// Навигация по списку
|
|
77
75
|
var _f = useDataListNavigation({
|
|
78
|
-
active: open,
|
|
79
76
|
items: items,
|
|
77
|
+
active: open,
|
|
80
78
|
selected: lastSelectedValue(selectedState),
|
|
81
79
|
onSelect: function (event, item) {
|
|
82
80
|
handleSelect(event, item !== null && item !== void 0 ? item : '');
|
|
@@ -108,9 +106,7 @@ var DataListRender = function (inProps, ref) {
|
|
|
108
106
|
useEventListener({
|
|
109
107
|
eventName: 'keydown',
|
|
110
108
|
element: anchorRef,
|
|
111
|
-
handler: function (event) {
|
|
112
|
-
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
|
|
113
|
-
},
|
|
109
|
+
handler: function (event) { return onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event); },
|
|
114
110
|
});
|
|
115
111
|
// Закрывает список по нажатию на клавишу {Tab}
|
|
116
112
|
useEventListener({
|
|
@@ -118,9 +114,8 @@ var DataListRender = function (inProps, ref) {
|
|
|
118
114
|
eventName: 'keydown',
|
|
119
115
|
element: anchorRef,
|
|
120
116
|
handler: function (event) {
|
|
121
|
-
if (isKey(event, 'Tab'))
|
|
117
|
+
if (isKey(event, 'Tab'))
|
|
122
118
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
123
|
-
}
|
|
124
119
|
},
|
|
125
120
|
});
|
|
126
121
|
// Представление раскрывающегося списка
|
|
@@ -145,9 +140,7 @@ var DataListRender = function (inProps, ref) {
|
|
|
145
140
|
return cloneElement(elementChild, props);
|
|
146
141
|
});
|
|
147
142
|
}, [resolvedChildren, selectedState, focused, onClick]);
|
|
148
|
-
return (React.createElement(Popover, __assign({
|
|
149
|
-
classNames: 'DataList-animation',
|
|
150
|
-
} }, other, { ref: useMultiRef([ref, dataListRef]) }),
|
|
143
|
+
return (React.createElement(Popover, __assign({ open: open, offset: [0, 4], radius: radius, onClose: onClose, strategy: "absolute", anchorRef: anchorRef, as: as, placement: "bottom-start", transitionProps: { classNames: 'DataList-animation' }, className: cnDataList('', [className]), disableReturnFocus: true, disableEnforceFocus: true }, other, { ref: useMultiRef([ref, dataListRef]) }),
|
|
151
144
|
React.createElement(List, __assign({ as: "ul", size: size }, listProps, { onMouseDown: handleOnMouseDownList, ref: useMultiRef([listRef, listProps === null || listProps === void 0 ? void 0 : listProps.ref]) }), renderChildren)));
|
|
152
145
|
};
|
|
153
146
|
export var DataList = polymorphicComponentWithRef(DataListRender);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DataListBaseProps } from './index';
|
|
2
|
+
export declare const isMultipleParams: (params: DataListBaseProps<boolean>) => params is DataListBaseProps<true>;
|
|
3
|
+
export declare const isNotMultipleParams: (params: DataListBaseProps<boolean>) => params is DataListBaseProps<false>;
|
|
@@ -19,7 +19,7 @@ export declare const DatePicker: React.ForwardRefExoticComponent<(Omit<{
|
|
|
19
19
|
defaultOpen?: undefined;
|
|
20
20
|
} & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
21
21
|
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
22
|
-
}, "value" | "defaultValue" | "error" | "label" | "onChange" | "onError" | "onKeyDown" | "disabled" | "open" | "onClose" | "placeholder" | "required" | "size" | "exclude" | "fullWidth" | "disableStroke" | "hint" | "renderLeft" | "renderRight" | "inputProps" | "hintProps" | "clearText" | "disableClearButton" | "onInputChange" | "onOpen" | "defaultOpen" | "
|
|
22
|
+
}, "value" | "defaultValue" | "error" | "label" | "onChange" | "onError" | "onKeyDown" | "disabled" | "open" | "onClose" | "placeholder" | "required" | "size" | "exclude" | "fullWidth" | "disableStroke" | "hint" | "renderLeft" | "renderRight" | "inputProps" | "hintProps" | "clearText" | "disableClearButton" | "onInputChange" | "onOpen" | "defaultOpen" | "popoverProps" | "offsetDate" | "minDate" | "maxDate" | "calendarProps">, "ref"> | Omit<{
|
|
23
23
|
value?: Date | null | undefined;
|
|
24
24
|
defaultValue?: Date | null | undefined;
|
|
25
25
|
onChange?: DatePickerOnChange | undefined;
|
|
@@ -36,4 +36,4 @@ export declare const DatePicker: React.ForwardRefExoticComponent<(Omit<{
|
|
|
36
36
|
defaultOpen?: boolean | undefined;
|
|
37
37
|
} & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
38
38
|
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
39
|
-
}, "value" | "defaultValue" | "error" | "label" | "onChange" | "onError" | "onKeyDown" | "disabled" | "open" | "onClose" | "placeholder" | "required" | "size" | "exclude" | "fullWidth" | "disableStroke" | "hint" | "renderLeft" | "renderRight" | "inputProps" | "hintProps" | "clearText" | "disableClearButton" | "onInputChange" | "onOpen" | "defaultOpen" | "
|
|
39
|
+
}, "value" | "defaultValue" | "error" | "label" | "onChange" | "onError" | "onKeyDown" | "disabled" | "open" | "onClose" | "placeholder" | "required" | "size" | "exclude" | "fullWidth" | "disableStroke" | "hint" | "renderLeft" | "renderRight" | "inputProps" | "hintProps" | "clearText" | "disableClearButton" | "onInputChange" | "onOpen" | "defaultOpen" | "popoverProps" | "offsetDate" | "minDate" | "maxDate" | "calendarProps">, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -150,7 +150,7 @@ export var DatePicker = forwardRef(function (inProps, ref) {
|
|
|
150
150
|
e.preventDefault();
|
|
151
151
|
};
|
|
152
152
|
return (React.createElement(React.Fragment, null,
|
|
153
|
-
React.createElement(DateInput, __assign({ size: size, hint: hint, error: error, label: label, required: required, disabled: disabled, fullWidth: fullWidth, placeholder: placeholder }, other, { renderRight: React.createElement(DatePickerRenderRight, { size: size, open: open, onClear: handleClear, clearText: clearText, hasValue: !!
|
|
153
|
+
React.createElement(DateInput, __assign({ size: size, hint: hint, error: error, label: label, required: required, disabled: disabled, fullWidth: fullWidth, placeholder: placeholder }, other, { renderRight: React.createElement(DatePickerRenderRight, { size: size, open: open, onClear: handleClear, clearText: clearText, hasValue: !!value, renderRight: renderRight, disableClearButton: disableClearButton }), value: inputValue, inputProps: __assign(__assign({ autoComplete: 'off' }, inputProps), { onBlur: handleBlur, onClick: handleClickOnInput, onInput: handleChangeInput }), bodyProps: { ref: anchorRef, 'aria-expanded': open }, className: cnDatePicker({ size: size }, [className]), onKeyDown: handleKeyDown, ref: ref })),
|
|
154
154
|
React.createElement(Popover, __assign({ as: Paper, open: open, offset: [0, 4], radius: radius, anchorRef: anchorRef, onClose: handleClose, placement: "bottom-start", disableReturnFocus: true, disableEnforceFocus: true }, popoverProps),
|
|
155
155
|
React.createElement(Calendar, __assign({ minDate: minDate, maxDate: maxDate, exclude: exclude, size: calendarSize, offsetDate: offsetDate, onMouseDown: handleMouseDownCalendar }, calendarProps, { value: value || null, onChange: handleChangeCalendar })))));
|
|
156
156
|
});
|
|
@@ -95,10 +95,14 @@
|
|
|
95
95
|
}
|
|
96
96
|
.FieldControl_hasLabel .FieldInput::placeholder {
|
|
97
97
|
opacity: 0;
|
|
98
|
+
color: var(--textfield-placeholder-color);
|
|
98
99
|
}
|
|
99
100
|
.FieldControl_hasLabel .FieldInput:focus::placeholder {
|
|
100
101
|
opacity: 1;
|
|
101
102
|
}
|
|
103
|
+
.FieldControl .FieldLabel_shrink + .FieldInput::placeholder {
|
|
104
|
+
opacity: 1;
|
|
105
|
+
}
|
|
102
106
|
.FieldControl_fullWidth {
|
|
103
107
|
inline-size: 100%;
|
|
104
108
|
}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { PolymorphicComponentPropsWithoutRef } from '../../utils/polymorphicComponentWithRef';
|
|
3
|
-
export declare const FIELD_INPUT_DEFAULT_TAG = "input";
|
|
4
|
-
export type FieldInputRef = ComponentRef<typeof FIELD_INPUT_DEFAULT_TAG>;
|
|
5
|
-
type FieldInputBaseProps = {
|
|
6
|
-
'data-testid'?: string;
|
|
7
|
-
};
|
|
8
|
-
export type FieldInputProps<As extends ElementType = typeof FIELD_INPUT_DEFAULT_TAG> = PolymorphicComponentPropsWithoutRef<FieldInputBaseProps, As>;
|
|
1
|
+
import type { FieldInputBaseProps } from './types';
|
|
9
2
|
export declare const cnFieldInput: import("@bem-react/classname").ClassNameFormatter;
|
|
10
3
|
export declare const FieldInput: import("../../utils/polymorphicComponentWithRef").PolymorphicComponentWithRef<FieldInputBaseProps, "div">;
|
|
11
|
-
export {};
|
|
@@ -5,10 +5,10 @@ import { useIsomorphicEffect } from '../../hooks/useIsomorphicEffect';
|
|
|
5
5
|
import { cn } from '../../utils/classname';
|
|
6
6
|
import { polymorphicComponentWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
7
7
|
import { useFieldControl } from '../FieldControl';
|
|
8
|
-
|
|
8
|
+
import { FIELD_INPUT_DEFAULT_TAG } from './constants';
|
|
9
9
|
export var cnFieldInput = cn('FieldInput');
|
|
10
10
|
export var FieldInput = polymorphicComponentWithRef(function (_a, ref) {
|
|
11
|
-
var _b = _a.as, Tag = _b === void 0 ? FIELD_INPUT_DEFAULT_TAG : _b, className = _a.className, requiredProp = _a.required, disabledProp = _a.disabled, valueProp = _a.value, onChange = _a.onChange, defaultValue = _a.defaultValue, children = _a.children, onFocus = _a.onFocus, onBlur = _a.onBlur, other = __rest(_a, ["as", "className", "required", "disabled", "value", "onChange", "defaultValue", "children", "onFocus", "onBlur"]);
|
|
11
|
+
var _b = _a.as, Tag = _b === void 0 ? FIELD_INPUT_DEFAULT_TAG : _b, className = _a.className, requiredProp = _a.required, disabledProp = _a.disabled, valueProp = _a.value, renderComponentProp = _a.renderComponent, onChange = _a.onChange, defaultValue = _a.defaultValue, children = _a.children, onFocus = _a.onFocus, onBlur = _a.onBlur, other = __rest(_a, ["as", "className", "required", "disabled", "value", "renderComponent", "onChange", "defaultValue", "children", "onFocus", "onBlur"]);
|
|
12
12
|
var _c = __read(useState(), 2), focused = _c[0], setFocused = _c[1];
|
|
13
13
|
var context = useFieldControl();
|
|
14
14
|
var _d = __read(context, 2), fieldControl = _d[0], setFieldControl = _d[1];
|
|
@@ -47,6 +47,11 @@ export var FieldInput = polymorphicComponentWithRef(function (_a, ref) {
|
|
|
47
47
|
setFocused(false);
|
|
48
48
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
|
|
49
49
|
}, [onBlur]);
|
|
50
|
-
|
|
50
|
+
var renderComponentDefault = function (props, ref) { return (React.createElement(Tag, __assign({}, props, { ref: ref }), children)); };
|
|
51
|
+
var renderComponent = renderComponentProp || renderComponentDefault;
|
|
52
|
+
var render = function () {
|
|
53
|
+
return renderComponent(__assign(__assign({ className: cnFieldInput({}, [className]), required: required, disabled: disabled, onBlur: handleBlur, onFocus: handleFocus, onChange: handleChange }, (isControlled ? { value: valueState } : { defaultValue: defaultValue })), other), ref);
|
|
54
|
+
};
|
|
55
|
+
return render();
|
|
51
56
|
});
|
|
52
57
|
FieldInput.displayName = 'FieldInput';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FIELD_INPUT_DEFAULT_TAG = "input";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var FIELD_INPUT_DEFAULT_TAG = 'input';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ElementType, HTMLAttributes, ReactElement, Ref } from 'react';
|
|
2
|
+
import type { PolymorphicComponentPropsWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
3
|
+
import type { FIELD_INPUT_DEFAULT_TAG } from './constants';
|
|
4
|
+
export type FieldInputPropRenderComponent<T extends HTMLElement = any> = (props: HTMLAttributes<T> & {
|
|
5
|
+
'data-testid'?: string;
|
|
6
|
+
}, ref?: Ref<T>) => ReactElement | null;
|
|
7
|
+
export type FieldInputBaseProps = {
|
|
8
|
+
'data-testid'?: string;
|
|
9
|
+
renderComponent?: FieldInputPropRenderComponent;
|
|
10
|
+
};
|
|
11
|
+
export type FieldInputProps<As extends ElementType = typeof FIELD_INPUT_DEFAULT_TAG> = PolymorphicComponentPropsWithRef<FieldInputBaseProps, As>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
/* l >= 1280px */
|
|
5
5
|
.Grid {
|
|
6
6
|
display: grid;
|
|
7
|
+
min-block-size: 0;
|
|
8
|
+
min-inline-size: 0;
|
|
7
9
|
}
|
|
8
10
|
.Grid_cols_1 {
|
|
9
11
|
grid-template-columns: repeat(1, 1fr);
|
|
@@ -801,6 +803,8 @@
|
|
|
801
803
|
--grid-col-end: auto;
|
|
802
804
|
--grid-row-start: auto;
|
|
803
805
|
--grid-row-end: auto;
|
|
806
|
+
min-inline-size: 0;
|
|
807
|
+
overflow: hidden;
|
|
804
808
|
grid-column: var(--grid-col-start) / var(--grid-col-end);
|
|
805
809
|
grid-row: var(--grid-row-start) / var(--grid-row-end);
|
|
806
810
|
}
|
|
@@ -14,23 +14,20 @@
|
|
|
14
14
|
.Input-FieldContainer {
|
|
15
15
|
inline-size: 100%;
|
|
16
16
|
position: relative;
|
|
17
|
+
overflow: hidden;
|
|
17
18
|
}
|
|
18
19
|
.Input-Field {
|
|
19
20
|
border: none;
|
|
20
21
|
outline: none;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
padding: var(--textfield-input-padding);
|
|
22
|
+
font: inherit;
|
|
23
|
+
display: block;
|
|
24
24
|
background: none;
|
|
25
|
-
|
|
25
|
+
inline-size: 100%;
|
|
26
26
|
box-sizing: border-box;
|
|
27
|
+
color: var(--textfield-color);
|
|
28
|
+
padding: var(--textfield-input-padding);
|
|
27
29
|
block-size: var(--textfield-input-height);
|
|
28
|
-
font: inherit;
|
|
29
30
|
}
|
|
30
|
-
.Input-Field::placeholder {
|
|
31
|
-
opacity: 1;
|
|
32
|
-
color: var(--textfield-placeholder-color);
|
|
33
|
-
}
|
|
34
31
|
.Input-Field:-webkit-autofill,
|
|
35
32
|
.Input-Field:-webkit-autofill:hover,
|
|
36
33
|
.Input-Field:-webkit-autofill:focus {
|
|
@@ -4,6 +4,7 @@ import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant'
|
|
|
4
4
|
import type { FIELD_CONTROL_DEFAULT_TAG } from '../FieldControl';
|
|
5
5
|
import type { FieldHintProps } from '../FieldHint';
|
|
6
6
|
import type { FieldIconProps } from '../FieldIcon';
|
|
7
|
+
import type { FieldInputProps } from '../FieldInput';
|
|
7
8
|
import type { FieldLabelProps } from '../FieldLabel';
|
|
8
9
|
export declare const inputTypeVariant: readonly ["number", "date", "datetime-local", "time", "text", "tel", "password", "email"];
|
|
9
10
|
export type InputTypeVariant = (typeof inputTypeVariant)[number];
|
|
@@ -65,9 +66,7 @@ export type InputProps = ExtendableComponentPropsWithRef<{
|
|
|
65
66
|
/** Обработчик события на изменение значения поля */
|
|
66
67
|
onChange?: InputOnChange;
|
|
67
68
|
/** Свойства элемента input */
|
|
68
|
-
inputProps?:
|
|
69
|
-
'data-testid'?: string;
|
|
70
|
-
};
|
|
69
|
+
inputProps?: FieldInputProps;
|
|
71
70
|
/** Свойства FieldLabel */
|
|
72
71
|
labelProps?: FieldLabelProps;
|
|
73
72
|
/** Cвойства Body */
|
|
@@ -68,11 +68,6 @@
|
|
|
68
68
|
block-size: var(--textfield-input-height);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
.InputNumber-Field::placeholder {
|
|
72
|
-
opacity: 1;
|
|
73
|
-
color: var(--textfield-placeholder-color);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
71
|
.InputNumber-Field:-webkit-autofill,
|
|
77
72
|
.InputNumber-Field:-webkit-autofill:hover,
|
|
78
73
|
.InputNumber-Field:-webkit-autofill:focus {
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
text-decoration: none;
|
|
8
8
|
white-space: nowrap;
|
|
9
9
|
max-inline-size: 100%;
|
|
10
|
+
box-sizing: border-box;
|
|
10
11
|
gap: var(--tag-gap);
|
|
12
|
+
block-size: var(--tag-height);
|
|
11
13
|
padding: var(--tag-padding);
|
|
12
14
|
border-radius: var(--tag-border-radius);
|
|
13
15
|
transition:
|
|
@@ -24,6 +26,7 @@
|
|
|
24
26
|
text-transform: var(--typography-text-3xs-text_transform, none);
|
|
25
27
|
|
|
26
28
|
--tag-padding: 0 4px;
|
|
29
|
+
--tag-height: 16px;
|
|
27
30
|
--tag-gap: var(--spacing-3xs);
|
|
28
31
|
--tag-border-radius: var(--border-radius-s);
|
|
29
32
|
}
|
|
@@ -32,7 +35,8 @@
|
|
|
32
35
|
letter-spacing: var(--typography-text-xs-letter_spacing, 0);
|
|
33
36
|
text-transform: var(--typography-text-xs-text_transform, none);
|
|
34
37
|
|
|
35
|
-
--tag-padding:
|
|
38
|
+
--tag-padding: 0 8px;
|
|
39
|
+
--tag-height: 24px;
|
|
36
40
|
--tag-gap: var(--spacing-3xs);
|
|
37
41
|
--tag-border-radius: var(--border-radius-s);
|
|
38
42
|
}
|
|
@@ -41,7 +45,8 @@
|
|
|
41
45
|
letter-spacing: var(--typography-text-s-letter_spacing, 0);
|
|
42
46
|
text-transform: var(--typography-text-s-text_transform, none);
|
|
43
47
|
|
|
44
|
-
--tag-padding:
|
|
48
|
+
--tag-padding: 0 12px;
|
|
49
|
+
--tag-height: 32px;
|
|
45
50
|
--tag-gap: var(--spacing-3xs);
|
|
46
51
|
--tag-border-radius: var(--border-radius-m);
|
|
47
52
|
}
|
|
@@ -50,7 +55,8 @@
|
|
|
50
55
|
letter-spacing: var(--typography-text-m-letter_spacing, 0);
|
|
51
56
|
text-transform: var(--typography-text-m-text_transform, none);
|
|
52
57
|
|
|
53
|
-
--tag-padding:
|
|
58
|
+
--tag-padding: 0 12px;
|
|
59
|
+
--tag-height: 36px;
|
|
54
60
|
--tag-gap: var(--spacing-2xs);
|
|
55
61
|
--tag-border-radius: var(--border-radius-m);
|
|
56
62
|
}
|
|
@@ -59,7 +65,8 @@
|
|
|
59
65
|
letter-spacing: var(--typography-text-l-letter_spacing, 0);
|
|
60
66
|
text-transform: var(--typography-text-l-text_transform, none);
|
|
61
67
|
|
|
62
|
-
--tag-padding:
|
|
68
|
+
--tag-padding: 0 12px;
|
|
69
|
+
--tag-height: 40px;
|
|
63
70
|
--tag-gap: var(--spacing-2xs);
|
|
64
71
|
--tag-border-radius: var(--border-radius-m);
|
|
65
72
|
}
|
|
@@ -6,11 +6,11 @@ import { cn } from '../../utils/classname';
|
|
|
6
6
|
import { getIconSizeToFormElement } from '../../utils/getIconSizeToFormElement';
|
|
7
7
|
import { polymorphicComponentWithRef } from '../../utils/polymorphicComponentWithRef';
|
|
8
8
|
import { renderContent } from '../../utils/renderContent';
|
|
9
|
-
import {
|
|
9
|
+
import { TAG_DEFAULT_COLOR, TAG_DEFAULT_SIZE, TAG_DEFAULT_TAG, TAG_DEFAULT_VARIANT, } from './constants';
|
|
10
10
|
export var cnTag = cn('TagNext');
|
|
11
11
|
export var Tag = polymorphicComponentWithRef(function (inProps, ref) {
|
|
12
12
|
var props = useThemeProps({ props: inProps, name: 'TagNext' });
|
|
13
|
-
var _a = props.color, color = _a === void 0 ? TAG_DEFAULT_COLOR : _a, _b = props.variant, variant = _b === void 0 ? TAG_DEFAULT_VARIANT : _b, _c = props.size, size = _c === void 0 ? TAG_DEFAULT_SIZE : _c, _d = props.as, Tag = _d === void 0 ?
|
|
13
|
+
var _a = props.color, color = _a === void 0 ? TAG_DEFAULT_COLOR : _a, _b = props.variant, variant = _b === void 0 ? TAG_DEFAULT_VARIANT : _b, _c = props.size, size = _c === void 0 ? TAG_DEFAULT_SIZE : _c, _d = props.as, Tag = _d === void 0 ? TAG_DEFAULT_TAG : _d, interactive = props.interactive, iconLeft = props.iconLeft, iconRight = props.iconRight, label = props.label, className = props.className, other = __rest(props, ["color", "variant", "size", "as", "interactive", "iconLeft", "iconRight", "label", "className"]);
|
|
14
14
|
var renderIcon = function (content) {
|
|
15
15
|
return renderContent({
|
|
16
16
|
content: content,
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import type { ElementType } from 'react';
|
|
1
|
+
import type { ComponentRef, ElementType } from 'react';
|
|
2
2
|
import type { IconProps } from '@ozen-ui/icons';
|
|
3
3
|
import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
|
|
4
4
|
import type { PolymorphicComponentPropsWithoutRef } from '../../utils/polymorphicComponentWithRef';
|
|
5
5
|
import type { RenderContentType } from '../../utils/renderContent';
|
|
6
|
+
import type { TAG_DEFAULT_TAG } from './constants';
|
|
6
7
|
export declare const tagVariant: readonly ["primary", "secondary"];
|
|
7
8
|
export declare const tagColorVariant: readonly ["neutral", "action", "error", "warning", "success", "info"];
|
|
8
9
|
export type TagVariant = (typeof tagVariant)[number];
|
|
9
10
|
export type TagColor = (typeof tagColorVariant)[number];
|
|
10
11
|
export type TagIcon = RenderContentType<IconProps>['content'];
|
|
12
|
+
export type TagSizeVariant = FormElementSizeVariant;
|
|
11
13
|
export type TagBaseProps = {
|
|
12
14
|
/** Текст лейбла внутри тега */
|
|
13
15
|
label: string;
|
|
14
16
|
/** Размер */
|
|
15
|
-
size?:
|
|
17
|
+
size?: TagSizeVariant;
|
|
16
18
|
/** Вариант компонента */
|
|
17
19
|
variant?: TagVariant;
|
|
18
20
|
/** Цвет компонента */
|
|
@@ -24,4 +26,5 @@ export type TagBaseProps = {
|
|
|
24
26
|
/** Иконка справа */
|
|
25
27
|
iconRight?: TagIcon;
|
|
26
28
|
};
|
|
27
|
-
export type TagProps<As extends ElementType =
|
|
29
|
+
export type TagProps<As extends ElementType = typeof TAG_DEFAULT_TAG> = PolymorphicComponentPropsWithoutRef<TagBaseProps, As>;
|
|
30
|
+
export type TagRef = ComponentRef<typeof TAG_DEFAULT_TAG>;
|
|
@@ -4,6 +4,7 @@ import type { PolymorphicComponentPropsWithoutRef } from '../../utils/polymorphi
|
|
|
4
4
|
import type { AccordionProps, AccordionSummaryProps } from '../Accordion';
|
|
5
5
|
import type { AlertProps } from '../Alert';
|
|
6
6
|
import type { AutocompleteProps } from '../Autocomplete';
|
|
7
|
+
import type { AutocompleteProps as AutocompletePropsNext } from '../AutocompleteNext';
|
|
7
8
|
import type { AvatarProps } from '../Avatar';
|
|
8
9
|
import type { BackdropProps } from '../Backdrop';
|
|
9
10
|
import type { BadgeProps } from '../Badge';
|
|
@@ -78,6 +79,7 @@ export type Theme = {
|
|
|
78
79
|
AccordionSummary?: Partial<AccordionSummaryProps>;
|
|
79
80
|
Alert?: Partial<AlertProps>;
|
|
80
81
|
Autocomplete?: Partial<AutocompleteProps>;
|
|
82
|
+
AutocompleteNext?: Partial<AutocompletePropsNext>;
|
|
81
83
|
Avatar?: Partial<AvatarProps>;
|
|
82
84
|
Backdrop?: Partial<BackdropProps>;
|
|
83
85
|
Badge?: Partial<BadgeProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useElementSize';
|