@hh.ru/magritte-ui-chips-input 2.0.0 → 2.1.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/ChipsInput.d.ts +2 -2
- package/ChipsInput.js +46 -4
- package/ChipsInput.js.map +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +6 -5
- package/types.d.ts +4 -1
package/ChipsInput.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ForwardedRef, ReactElement } from 'react';
|
|
2
2
|
import { ChipsInputProps } from '@hh.ru/magritte-ui-chips-input/types';
|
|
3
|
-
declare const ChipsInput: (<DataType>(props: ChipsInputProps<DataType> & {
|
|
4
|
-
ref?: ForwardedRef<HTMLInputElement
|
|
3
|
+
declare const ChipsInput: (<MultipleType extends boolean, DataType>(props: ChipsInputProps<MultipleType, DataType> & {
|
|
4
|
+
ref?: ForwardedRef<HTMLInputElement>;
|
|
5
5
|
}) => ReactElement | null) & {
|
|
6
6
|
displayName: string;
|
|
7
7
|
};
|
package/ChipsInput.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef, useRef } from 'react';
|
|
2
|
+
import { forwardRef, useRef, useState } from 'react';
|
|
3
3
|
import { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';
|
|
4
4
|
import { ChipsTrigger } from '@hh.ru/magritte-ui-chips-trigger';
|
|
5
5
|
import { Input } from '@hh.ru/magritte-ui-input';
|
|
6
|
+
import { Select } from '@hh.ru/magritte-ui-select';
|
|
6
7
|
import { Suggest } from '@hh.ru/magritte-ui-suggest';
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
// сhips trigger работает только массивом
|
|
10
|
+
const getSelectValuesAsArray = (values) => {
|
|
11
|
+
return Array.isArray(values) ? values : [values].filter(Boolean);
|
|
12
|
+
};
|
|
13
|
+
const ChipsInputComponent = ({ type, state, onChange: onChangeExternal, triggerProps, suggestProps, selectProps, }, ref) => {
|
|
9
14
|
const chipsTriggerRef = useRef(null);
|
|
10
15
|
const chipsTriggerRefCallback = useMultipleRefs(ref, chipsTriggerRef);
|
|
16
|
+
const { allowArbitraryValues } = triggerProps;
|
|
17
|
+
const [selectState, setSelectState] = useState((selectProps?.multiple ? [] : ''));
|
|
11
18
|
if (type === 'suggest') {
|
|
12
19
|
return (jsx(Suggest, { ...suggestProps, onChange: (value, isValueFromList) => {
|
|
13
20
|
if (!isValueFromList) {
|
|
@@ -22,7 +29,7 @@ const ChipsInputComponent = ({ type, state, onChange: onChangeExternal, triggerP
|
|
|
22
29
|
value: state.value,
|
|
23
30
|
},
|
|
24
31
|
}, onSearchSubmit: (event) => {
|
|
25
|
-
if (!
|
|
32
|
+
if (!allowArbitraryValues) {
|
|
26
33
|
return;
|
|
27
34
|
}
|
|
28
35
|
const value = event.target.value;
|
|
@@ -37,7 +44,42 @@ const ChipsInputComponent = ({ type, state, onChange: onChangeExternal, triggerP
|
|
|
37
44
|
} }));
|
|
38
45
|
} }));
|
|
39
46
|
}
|
|
40
|
-
|
|
47
|
+
const { multiple, options } = selectProps;
|
|
48
|
+
return (jsx(Select, { ...selectProps, searchable: true, multiple: multiple, value: selectState, onChange: (newValues) => {
|
|
49
|
+
const valuesArr = getSelectValuesAsArray(newValues);
|
|
50
|
+
onChangeExternal({
|
|
51
|
+
value: '',
|
|
52
|
+
chips: valuesArr.map((value) => {
|
|
53
|
+
const item = options.find((option) => option.value === value);
|
|
54
|
+
if (item) {
|
|
55
|
+
return { value: item.value, label: item.label };
|
|
56
|
+
}
|
|
57
|
+
return { value };
|
|
58
|
+
}),
|
|
59
|
+
});
|
|
60
|
+
setSelectState(newValues);
|
|
61
|
+
}, onSearchSubmit: (event) => {
|
|
62
|
+
if (!allowArbitraryValues) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const value = event.target.value;
|
|
66
|
+
if (value) {
|
|
67
|
+
onChangeExternal({ value: '', chips: [...state.chips, { value }] });
|
|
68
|
+
}
|
|
69
|
+
}, onBottomSheetOpen: () => chipsTriggerRef.current?.blur(), triggerProps: { size: 'large' }, renderTrigger: ({ ref, setSearchValue, onKeyDown, onBlur, onFocus }) => {
|
|
70
|
+
return (jsx(ChipsTrigger, { ...triggerProps, allowArbitraryValues: allowArbitraryValues, state: state, ref: chipsTriggerRefCallback, wrapperRef: ref, onKeyDown: onKeyDown, onBlur: onBlur, onFocus: onFocus, onChange: (newState) => {
|
|
71
|
+
onChangeExternal(newState);
|
|
72
|
+
setSearchValue(newState.value);
|
|
73
|
+
if (!multiple) {
|
|
74
|
+
const { eventType } = newState;
|
|
75
|
+
if (eventType === 'removeChipByBackspace' || eventType === 'removeChipByCross') {
|
|
76
|
+
setSelectState('');
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
setSelectState(newState.chips.map(({ value }) => value));
|
|
81
|
+
} }));
|
|
82
|
+
} }));
|
|
41
83
|
};
|
|
42
84
|
const ChipsInput = forwardRef(ChipsInputComponent);
|
|
43
85
|
ChipsInput.displayName = 'ChipsInput';
|
package/ChipsInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipsInput.js","sources":["../src/ChipsInput.tsx"],"sourcesContent":["import { forwardRef, useRef, ForwardedRef, ReactElement } from 'react';\n\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { ChipsInputProps } from '@hh.ru/magritte-ui-chips-input/types';\nimport { ChipsTrigger } from '@hh.ru/magritte-ui-chips-trigger';\nimport { Input } from '@hh.ru/magritte-ui-input';\nimport { Suggest } from '@hh.ru/magritte-ui-suggest';\n\nconst ChipsInputComponent = <DataType,>(\n { type, state, onChange: onChangeExternal, triggerProps, suggestProps }: ChipsInputProps<DataType>,\n ref: ForwardedRef<HTMLInputElement>\n) => {\n const chipsTriggerRef = useRef<HTMLInputElement>(null);\n const chipsTriggerRefCallback = useMultipleRefs(ref, chipsTriggerRef);\n\n if (type === 'suggest') {\n return (\n <Suggest\n {...suggestProps}\n onChange={(value, isValueFromList) => {\n if (!isValueFromList) {\n return;\n }\n if (!state.chips.some((chip) => chip.value === value)) {\n onChangeExternal({ value: '', chips: [...state.chips, { value }] });\n }\n }}\n onBottomSheetOpen={() => chipsTriggerRef.current?.blur()}\n input={{\n component: Input,\n props: {\n value: state.value,\n },\n }}\n onSearchSubmit={(event) => {\n if (!triggerProps.allowArbitraryValues) {\n return;\n }\n const value = (event.target as HTMLInputElement).value;\n if (value) {\n onChangeExternal({ value: '', chips: [...state.chips, { value }] });\n }\n }}\n renderTrigger={({ props }) => {\n const { onChange, wrapperRef, onFocus, onKeyDown } = props;\n return (\n <ChipsTrigger\n {...triggerProps}\n state={state}\n ref={chipsTriggerRefCallback}\n wrapperRef={wrapperRef}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onChange={(newState) => {\n onChangeExternal(newState);\n onChange?.(newState.value);\n }}\n />\n );\n }}\n />\n );\n }\n\n return <div>select</div>;\n};\n\nconst ChipsInput = forwardRef(ChipsInputComponent) as (<DataType>(\n props: ChipsInputProps<DataType> & { ref?: ForwardedRef<HTMLInputElement> }\n) => ReactElement | null) & { displayName: string };\n\nChipsInput.displayName = 'ChipsInput';\n\nexport { ChipsInput };\n"],"names":["_jsx"],"mappings":";;;;;;;AAQA,MAAM,mBAAmB,GAAG,CACxB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAA6B,EAClG,GAAmC,KACnC;AACA,IAAA,MAAM,eAAe,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACvD,MAAM,uBAAuB,GAAG,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAEtE,IAAI,IAAI,KAAK,SAAS,EAAE;AACpB,QAAA,QACIA,GAAA,CAAC,OAAO,EAAA,EAAA,GACA,YAAY,EAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAI;gBACjC,IAAI,CAAC,eAAe,EAAE;oBAClB,OAAO;AACV,iBAAA;AACD,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE;oBACnD,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,iBAAA;AACL,aAAC,EACD,iBAAiB,EAAE,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,EACxD,KAAK,EAAE;AACH,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,KAAK,EAAE;oBACH,KAAK,EAAE,KAAK,CAAC,KAAK;AACrB,iBAAA;AACJ,aAAA,EACD,cAAc,EAAE,CAAC,KAAK,KAAI;AACtB,gBAAA,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE;oBACpC,OAAO;AACV,iBAAA;AACD,gBAAA,MAAM,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;AACvD,gBAAA,IAAI,KAAK,EAAE;oBACP,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,iBAAA;aACJ,EACD,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,KAAI;gBACzB,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;AAC3D,gBAAA,QACIA,GAAA,CAAC,YAAY,EAAA,EAAA,GACL,YAAY,EAChB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,uBAAuB,EAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,QAAQ,KAAI;wBACnB,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC3B,wBAAA,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;qBAC9B,EAAA,CACH,EACJ;aACL,EAAA,CACH,EACJ;AACL,KAAA;AAED,IAAA,OAAOA,kCAAiB,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,UAAU,CAAC,mBAAmB,EAEG;AAEpD,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
|
|
1
|
+
{"version":3,"file":"ChipsInput.js","sources":["../src/ChipsInput.tsx"],"sourcesContent":["import { forwardRef, useRef, ForwardedRef, ReactElement, useState } from 'react';\n\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { ChipsInputProps } from '@hh.ru/magritte-ui-chips-input/types';\nimport { ChipsTrigger } from '@hh.ru/magritte-ui-chips-trigger';\nimport { Input } from '@hh.ru/magritte-ui-input';\nimport { Select } from '@hh.ru/magritte-ui-select';\nimport { Suggest } from '@hh.ru/magritte-ui-suggest';\n\ntype ValueType<MultipleType> = [MultipleType] extends [true] ? string[] : string;\n\n// сhips trigger работает только массивом\nconst getSelectValuesAsArray = (values: string[] | string): string[] => {\n return Array.isArray(values) ? values : [values].filter(Boolean);\n};\n\nconst ChipsInputComponent = <MultipleType extends boolean, DataType>(\n {\n type,\n state,\n onChange: onChangeExternal,\n triggerProps,\n suggestProps,\n selectProps,\n }: ChipsInputProps<MultipleType, DataType>,\n ref: ForwardedRef<HTMLInputElement>\n) => {\n const chipsTriggerRef = useRef<HTMLInputElement>(null);\n const chipsTriggerRefCallback = useMultipleRefs(ref, chipsTriggerRef);\n const { allowArbitraryValues } = triggerProps;\n const [selectState, setSelectState] = useState((selectProps?.multiple ? [] : '') as ValueType<MultipleType>);\n\n if (type === 'suggest') {\n return (\n <Suggest\n {...suggestProps}\n onChange={(value, isValueFromList) => {\n if (!isValueFromList) {\n return;\n }\n if (!state.chips.some((chip) => chip.value === value)) {\n onChangeExternal({ value: '', chips: [...state.chips, { value }] });\n }\n }}\n onBottomSheetOpen={() => chipsTriggerRef.current?.blur()}\n input={{\n component: Input,\n props: {\n value: state.value,\n },\n }}\n onSearchSubmit={(event) => {\n if (!allowArbitraryValues) {\n return;\n }\n const value = (event.target as HTMLInputElement).value;\n if (value) {\n onChangeExternal({ value: '', chips: [...state.chips, { value }] });\n }\n }}\n renderTrigger={({ props }) => {\n const { onChange, wrapperRef, onFocus, onKeyDown } = props;\n return (\n <ChipsTrigger\n {...triggerProps}\n state={state}\n ref={chipsTriggerRefCallback}\n wrapperRef={wrapperRef}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onChange={(newState) => {\n onChangeExternal(newState);\n onChange?.(newState.value);\n }}\n />\n );\n }}\n />\n );\n }\n\n const { multiple, options } = selectProps;\n return (\n <Select\n {...selectProps}\n searchable\n multiple={multiple}\n value={selectState}\n onChange={(newValues) => {\n const valuesArr = getSelectValuesAsArray(newValues);\n onChangeExternal({\n value: '',\n chips: valuesArr.map((value) => {\n const item = options.find((option) => option.value === value);\n if (item) {\n return { value: item.value, label: item.label as string };\n }\n return { value };\n }),\n });\n setSelectState(newValues);\n }}\n onSearchSubmit={(event) => {\n if (!allowArbitraryValues) {\n return;\n }\n const value = (event.target as HTMLInputElement).value;\n if (value) {\n onChangeExternal({ value: '', chips: [...state.chips, { value }] });\n }\n }}\n onBottomSheetOpen={() => chipsTriggerRef.current?.blur()}\n triggerProps={{ size: 'large' }}\n renderTrigger={({ ref, setSearchValue, onKeyDown, onBlur, onFocus }) => {\n return (\n <ChipsTrigger\n {...triggerProps}\n allowArbitraryValues={allowArbitraryValues}\n state={state}\n ref={chipsTriggerRefCallback}\n wrapperRef={ref}\n onKeyDown={onKeyDown}\n onBlur={onBlur}\n onFocus={onFocus}\n onChange={(newState) => {\n onChangeExternal(newState);\n setSearchValue(newState.value);\n if (!multiple) {\n const { eventType } = newState;\n if (eventType === 'removeChipByBackspace' || eventType === 'removeChipByCross') {\n setSelectState('' as ValueType<MultipleType>);\n }\n return;\n }\n setSelectState(newState.chips.map(({ value }) => value) as ValueType<MultipleType>);\n }}\n />\n );\n }}\n />\n );\n};\n\nconst ChipsInput = forwardRef(ChipsInputComponent) as (<MultipleType extends boolean, DataType>(\n props: ChipsInputProps<MultipleType, DataType> & { ref?: ForwardedRef<HTMLInputElement> }\n) => ReactElement | null) & { displayName: string };\n\nChipsInput.displayName = 'ChipsInput';\n\nexport { ChipsInput };\n"],"names":["_jsx"],"mappings":"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"}
|
package/index.js
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hh.ru/magritte-ui-chips-input",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"sideEffects": [
|
|
@@ -27,9 +27,10 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@hh.ru/magritte-common-use-multiple-refs": "1.1.4",
|
|
30
|
-
"@hh.ru/magritte-ui-chips-trigger": "2.0.
|
|
31
|
-
"@hh.ru/magritte-ui-input": "7.0.
|
|
32
|
-
"@hh.ru/magritte-ui-
|
|
30
|
+
"@hh.ru/magritte-ui-chips-trigger": "2.0.6",
|
|
31
|
+
"@hh.ru/magritte-ui-input": "7.0.2",
|
|
32
|
+
"@hh.ru/magritte-ui-select": "8.2.2",
|
|
33
|
+
"@hh.ru/magritte-ui-suggest": "6.2.3"
|
|
33
34
|
},
|
|
34
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "b001d5d1c9ddf64c76d6a21b19795a55f407cef0"
|
|
35
36
|
}
|
package/types.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { ChipsTriggerProps } from '@hh.ru/magritte-ui-chips-trigger';
|
|
2
|
+
import { SelectProps } from '@hh.ru/magritte-ui-select/types';
|
|
2
3
|
import { SuggestProps } from '@hh.ru/magritte-ui-suggest';
|
|
3
4
|
type ChipsInputType = 'select' | 'suggest';
|
|
4
5
|
type TriggerPropsHelper = Omit<ChipsTriggerProps, 'expanded' | 'toggleExpanded' | 'wrapperRef' | 'ref' | 'state' | 'onChange' | 'onKeyDown' | 'onFocus'>;
|
|
5
6
|
type SuggestPropsHelper<DataType> = Omit<SuggestProps<DataType>, 'inputValue' | 'onChange' | 'renderTrigger' | 'onSearchSubmit' | 'onBottomSheetOpen' | 'input'>;
|
|
6
|
-
|
|
7
|
+
type SelectPropsHelper<MultipleType extends boolean, DataType> = Omit<SelectProps<MultipleType, DataType>, 'value' | 'onChange' | 'renderTrigger' | 'onSearchSubmit' | 'onBottomSheetOpen' | 'triggerProps' | 'searchable'>;
|
|
8
|
+
export interface ChipsInputProps<MultipleType extends boolean, DataType> {
|
|
7
9
|
type: ChipsInputType;
|
|
8
10
|
state: ChipsTriggerProps['state'];
|
|
9
11
|
onChange: ChipsTriggerProps['onChange'];
|
|
10
12
|
triggerProps: TriggerPropsHelper;
|
|
11
13
|
suggestProps: SuggestPropsHelper<DataType>;
|
|
14
|
+
selectProps: SelectPropsHelper<MultipleType, DataType>;
|
|
12
15
|
}
|
|
13
16
|
export {};
|