@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 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> | undefined;
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
- const ChipsInputComponent = ({ type, state, onChange: onChangeExternal, triggerProps, suggestProps }, ref) => {
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 (!triggerProps.allowArbitraryValues) {
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
- return jsx("div", { children: "select" });
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
@@ -4,5 +4,6 @@ import 'react';
4
4
  import '@hh.ru/magritte-common-use-multiple-refs';
5
5
  import '@hh.ru/magritte-ui-chips-trigger';
6
6
  import '@hh.ru/magritte-ui-input';
7
+ import '@hh.ru/magritte-ui-select';
7
8
  import '@hh.ru/magritte-ui-suggest';
8
9
  //# sourceMappingURL=index.js.map
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.0.0",
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.5",
31
- "@hh.ru/magritte-ui-input": "7.0.1",
32
- "@hh.ru/magritte-ui-suggest": "6.2.2"
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": "f16f39dabf580281a2a9c2a7038d27a037f9a5ef"
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
- export interface ChipsInputProps<DataType> {
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 {};