@salutejs/plasma-b2c 1.413.0-canary.1470.11191908547.0 → 1.413.0-canary.1470.11192852883.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,236 +1,17 @@
1
- import React from 'react';
1
+ import React, { ComponentProps, ForwardedRef, ReactElement } from 'react';
2
+ import type { ItemOption, ComboboxProps } from '@salutejs/plasma-new-hope';
3
+ import { Combobox as ComboboxOld } from './Legacy';
4
+ import { Combobox as ComboboxNew } from './Combobox';
2
5
  export { ComboboxDivider, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxItem } from './Legacy';
3
6
  export type { ComboboxOldProps as ComboboxProps } from '@salutejs/plasma-new-hope/styled-components';
4
- declare const Combobox: React.ForwardRefExoticComponent<(Omit<import("@salutejs/plasma-new-hope/types/engines/types").PropsType<{
5
- size: {
6
- xs: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
7
- s: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
8
- m: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
9
- l: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
10
- };
11
- view: {
12
- default: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
13
- };
14
- }> & Omit<import("@salutejs/plasma-core").InputHTMLAttributes<HTMLInputElement>, "onChange" | "size" | "value" | "type" | "target" | "checked" | "minLength" | "maxLength"> & import("@salutejs/plasma-new-hope/types/components/Combobox/ComboboxOld/Combobox.types").CustomComboboxProps & {
15
- valueType?: "single" | undefined;
16
- value?: import("@salutejs/plasma-new-hope/types/components/Combobox/ComboboxOld/Combobox.types").ComboboxPrimitiveValue | undefined;
17
- onChangeValue?: ((value?: import("@salutejs/plasma-new-hope/types/components/Combobox/ComboboxOld/Combobox.types").ComboboxPrimitiveValue | undefined) => void) | undefined;
18
- } & React.RefAttributes<HTMLInputElement> & {
19
- items?: undefined;
20
- }, "ref"> | Omit<import("@salutejs/plasma-new-hope/types/engines/types").PropsType<{
21
- size: {
22
- xs: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
23
- s: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
24
- m: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
25
- l: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
26
- };
27
- view: {
28
- default: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
29
- };
30
- }> & Omit<import("@salutejs/plasma-core").InputHTMLAttributes<HTMLInputElement>, "onChange" | "size" | "value" | "type" | "target" | "checked" | "minLength" | "maxLength"> & import("@salutejs/plasma-new-hope/types/components/Combobox/ComboboxOld/Combobox.types").CustomComboboxProps & {
31
- valueType: "multiple";
32
- value?: import("@salutejs/plasma-new-hope/types/components/Combobox/ComboboxOld/Combobox.types").ComboboxPrimitiveValue[] | undefined;
33
- onChangeValue?: ((value?: import("@salutejs/plasma-new-hope/types/components/Combobox/ComboboxOld/Combobox.types").ComboboxPrimitiveValue[] | undefined) => void) | undefined;
34
- } & React.RefAttributes<HTMLInputElement> & {
35
- items?: undefined;
36
- }, "ref"> | Omit<Omit<import("@salutejs/plasma-new-hope/styled-components").ComboboxProps<import("@salutejs/plasma-new-hope/styled-components").ItemOption>, "view" | "size" | "disabled" | "readOnly" | "labelPlacement"> & Pick<import("@salutejs/plasma-new-hope/types/engines/types").PropsType<{
37
- view: {
38
- default: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
39
- positive: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
40
- warning: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
41
- negative: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
42
- };
43
- size: {
44
- l: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
45
- m: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
46
- s: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
47
- xs: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
48
- };
49
- labelPlacement: {
50
- inner: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
51
- outer: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
52
- };
53
- disabled: {
54
- true: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
55
- };
56
- readOnly: {
57
- true: import("@salutejs/plasma-new-hope/types/engines/types").PolymorphicClassName;
58
- };
59
- }> & (({
60
- items: import("@salutejs/plasma-new-hope/styled-components").ItemOption[];
61
- placement?: ("top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end") | undefined;
62
- label?: string | undefined;
63
- placeholder?: string | undefined;
64
- helperText?: string | undefined;
65
- contentLeft?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
66
- textBefore?: string | undefined;
67
- textAfter?: string | undefined;
68
- variant?: "normal" | "tight" | undefined;
69
- listOverflow?: import("csstype").Property.Overflow | undefined;
70
- listHeight?: import("csstype").Property.Height<string | number> | undefined;
71
- listWidth?: import("csstype").Property.Width<string | number> | undefined;
72
- portal?: React.MutableRefObject<HTMLElement | null> | undefined;
73
- renderItem?: ((item: import("@salutejs/plasma-new-hope/styled-components").ItemOption) => React.ReactNode) | undefined;
74
- filter?: ((label: string, textValue: string) => boolean) | undefined;
75
- closeAfterSelect?: boolean | undefined;
76
- size?: string | undefined;
77
- view?: string | undefined;
78
- labelPlacement?: "outer" | "inner" | undefined;
79
- } & {
80
- readOnly?: boolean | undefined;
81
- disabled?: true | undefined;
82
- alwaysOpened?: false | undefined;
83
- } & {
84
- multiple?: false | undefined;
85
- value?: string | undefined;
86
- onChange?: ((value: string) => void) | undefined;
87
- isTargetAmount?: false | undefined;
88
- } & Omit<React.ButtonHTMLAttributes<HTMLInputElement>, "onChange" | "value"> & React.RefAttributes<HTMLInputElement>) | ({
89
- items: import("@salutejs/plasma-new-hope/styled-components").ItemOption[];
90
- placement?: ("top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end") | undefined;
91
- label?: string | undefined;
92
- placeholder?: string | undefined;
93
- helperText?: string | undefined;
94
- contentLeft?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
95
- textBefore?: string | undefined;
96
- textAfter?: string | undefined;
97
- variant?: "normal" | "tight" | undefined;
98
- listOverflow?: import("csstype").Property.Overflow | undefined;
99
- listHeight?: import("csstype").Property.Height<string | number> | undefined;
100
- listWidth?: import("csstype").Property.Width<string | number> | undefined;
101
- portal?: React.MutableRefObject<HTMLElement | null> | undefined;
102
- renderItem?: ((item: import("@salutejs/plasma-new-hope/styled-components").ItemOption) => React.ReactNode) | undefined;
103
- filter?: ((label: string, textValue: string) => boolean) | undefined;
104
- closeAfterSelect?: boolean | undefined;
105
- size?: string | undefined;
106
- view?: string | undefined;
107
- labelPlacement?: "outer" | "inner" | undefined;
108
- } & {
109
- readOnly?: boolean | undefined;
110
- disabled?: true | undefined;
111
- alwaysOpened?: false | undefined;
112
- } & {
113
- multiple: true;
114
- value?: string[] | undefined;
115
- onChange?: ((value: string[]) => void) | undefined;
116
- isTargetAmount?: boolean | undefined;
117
- } & Omit<React.ButtonHTMLAttributes<HTMLInputElement>, "onChange" | "value"> & React.RefAttributes<HTMLInputElement>) | ({
118
- items: import("@salutejs/plasma-new-hope/styled-components").ItemOption[];
119
- placement?: ("top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end") | undefined;
120
- label?: string | undefined;
121
- placeholder?: string | undefined;
122
- helperText?: string | undefined;
123
- contentLeft?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
124
- textBefore?: string | undefined;
125
- textAfter?: string | undefined;
126
- variant?: "normal" | "tight" | undefined;
127
- listOverflow?: import("csstype").Property.Overflow | undefined;
128
- listHeight?: import("csstype").Property.Height<string | number> | undefined;
129
- listWidth?: import("csstype").Property.Width<string | number> | undefined;
130
- portal?: React.MutableRefObject<HTMLElement | null> | undefined;
131
- renderItem?: ((item: import("@salutejs/plasma-new-hope/styled-components").ItemOption) => React.ReactNode) | undefined;
132
- filter?: ((label: string, textValue: string) => boolean) | undefined;
133
- closeAfterSelect?: boolean | undefined;
134
- size?: string | undefined;
135
- view?: string | undefined;
136
- labelPlacement?: "outer" | "inner" | undefined;
137
- } & {
138
- readOnly?: true | undefined;
139
- disabled?: boolean | undefined;
140
- alwaysOpened?: false | undefined;
141
- } & {
142
- multiple?: false | undefined;
143
- value?: string | undefined;
144
- onChange?: ((value: string) => void) | undefined;
145
- isTargetAmount?: false | undefined;
146
- } & Omit<React.ButtonHTMLAttributes<HTMLInputElement>, "onChange" | "value"> & React.RefAttributes<HTMLInputElement>) | ({
147
- items: import("@salutejs/plasma-new-hope/styled-components").ItemOption[];
148
- placement?: ("top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end") | undefined;
149
- label?: string | undefined;
150
- placeholder?: string | undefined;
151
- helperText?: string | undefined;
152
- contentLeft?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
153
- textBefore?: string | undefined;
154
- textAfter?: string | undefined;
155
- variant?: "normal" | "tight" | undefined;
156
- listOverflow?: import("csstype").Property.Overflow | undefined;
157
- listHeight?: import("csstype").Property.Height<string | number> | undefined;
158
- listWidth?: import("csstype").Property.Width<string | number> | undefined;
159
- portal?: React.MutableRefObject<HTMLElement | null> | undefined;
160
- renderItem?: ((item: import("@salutejs/plasma-new-hope/styled-components").ItemOption) => React.ReactNode) | undefined;
161
- filter?: ((label: string, textValue: string) => boolean) | undefined;
162
- closeAfterSelect?: boolean | undefined;
163
- size?: string | undefined;
164
- view?: string | undefined;
165
- labelPlacement?: "outer" | "inner" | undefined;
166
- } & {
167
- readOnly?: true | undefined;
168
- disabled?: boolean | undefined;
169
- alwaysOpened?: false | undefined;
170
- } & {
171
- multiple: true;
172
- value?: string[] | undefined;
173
- onChange?: ((value: string[]) => void) | undefined;
174
- isTargetAmount?: boolean | undefined;
175
- } & Omit<React.ButtonHTMLAttributes<HTMLInputElement>, "onChange" | "value"> & React.RefAttributes<HTMLInputElement>) | ({
176
- items: import("@salutejs/plasma-new-hope/styled-components").ItemOption[];
177
- placement?: ("top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end") | undefined;
178
- label?: string | undefined;
179
- placeholder?: string | undefined;
180
- helperText?: string | undefined;
181
- contentLeft?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
182
- textBefore?: string | undefined;
183
- textAfter?: string | undefined;
184
- variant?: "normal" | "tight" | undefined;
185
- listOverflow?: import("csstype").Property.Overflow | undefined;
186
- listHeight?: import("csstype").Property.Height<string | number> | undefined;
187
- listWidth?: import("csstype").Property.Width<string | number> | undefined;
188
- portal?: React.MutableRefObject<HTMLElement | null> | undefined;
189
- renderItem?: ((item: import("@salutejs/plasma-new-hope/styled-components").ItemOption) => React.ReactNode) | undefined;
190
- filter?: ((label: string, textValue: string) => boolean) | undefined;
191
- closeAfterSelect?: boolean | undefined;
192
- size?: string | undefined;
193
- view?: string | undefined;
194
- labelPlacement?: "outer" | "inner" | undefined;
195
- } & {
196
- readOnly?: false | undefined;
197
- disabled?: false | undefined;
198
- alwaysOpened?: true | undefined;
199
- } & {
200
- multiple?: false | undefined;
201
- value?: string | undefined;
202
- onChange?: ((value: string) => void) | undefined;
203
- isTargetAmount?: false | undefined;
204
- } & Omit<React.ButtonHTMLAttributes<HTMLInputElement>, "onChange" | "value"> & React.RefAttributes<HTMLInputElement>) | ({
205
- items: import("@salutejs/plasma-new-hope/styled-components").ItemOption[];
206
- placement?: ("top" | "top-start" | "top-end" | "right" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end") | undefined;
207
- label?: string | undefined;
208
- placeholder?: string | undefined;
209
- helperText?: string | undefined;
210
- contentLeft?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
211
- textBefore?: string | undefined;
212
- textAfter?: string | undefined;
213
- variant?: "normal" | "tight" | undefined;
214
- listOverflow?: import("csstype").Property.Overflow | undefined;
215
- listHeight?: import("csstype").Property.Height<string | number> | undefined;
216
- listWidth?: import("csstype").Property.Width<string | number> | undefined;
217
- portal?: React.MutableRefObject<HTMLElement | null> | undefined;
218
- renderItem?: ((item: import("@salutejs/plasma-new-hope/styled-components").ItemOption) => React.ReactNode) | undefined;
219
- filter?: ((label: string, textValue: string) => boolean) | undefined;
220
- closeAfterSelect?: boolean | undefined;
221
- size?: string | undefined;
222
- view?: string | undefined;
223
- labelPlacement?: "outer" | "inner" | undefined;
224
- } & {
225
- readOnly?: false | undefined;
226
- disabled?: false | undefined;
227
- alwaysOpened?: true | undefined;
228
- } & {
229
- multiple: true;
230
- value?: string[] | undefined;
231
- onChange?: ((value: string[]) => void) | undefined;
232
- isTargetAmount?: boolean | undefined;
233
- } & Omit<React.ButtonHTMLAttributes<HTMLInputElement>, "onChange" | "value"> & React.RefAttributes<HTMLInputElement>)), "view" | "size" | "disabled" | "readOnly" | "labelPlacement"> & {
234
- ref?: React.ForwardedRef<HTMLInputElement> | undefined;
235
- }, "ref">) & React.RefAttributes<HTMLInputElement>>;
236
- export { Combobox };
7
+ declare type PropsFromConfig = 'view' | 'size' | 'labelPlacement' | 'disabled' | 'readOnly';
8
+ declare type PropsOld = ComponentProps<typeof ComboboxOld> & {
9
+ items?: never;
10
+ };
11
+ declare type CommonProps = <T extends ItemOption>(props: PropsOld | (Omit<ComboboxProps<T>, PropsFromConfig> & Pick<ComponentProps<typeof ComboboxNew>, PropsFromConfig> & {
12
+ ref?: ForwardedRef<HTMLInputElement>;
13
+ })) => ReactElement;
14
+ export declare const Combobox: CommonProps;
15
+ declare type PropsNew<T extends ItemOption> = Omit<ComboboxProps<T>, PropsFromConfig> & Pick<ComponentProps<typeof ComboboxNew>, PropsFromConfig>;
16
+ declare type CommonProps2<T extends ItemOption> = PropsOld | PropsNew<T>;
17
+ export declare const Combobox2: <T extends ItemOption>(props: CommonProps2<T> & React.RefAttributes<HTMLInputElement>) => React.ReactNode;
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Combobox = void 0;
7
+ exports.Combobox2 = exports.Combobox = void 0;
8
8
  Object.defineProperty(exports, "ComboboxDivider", {
9
9
  enumerable: true,
10
10
  get: function get() {
@@ -41,7 +41,10 @@ var _Combobox = /*#__PURE__*/require("./Combobox");
41
41
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
42
42
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
43
43
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
44
- var Combobox = exports.Combobox = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
44
+ function fixedForwardRef(render) {
45
+ return /*#__PURE__*/(0, _react.forwardRef)(render);
46
+ }
47
+ var ComboboxComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
45
48
  if (props.items) {
46
49
  return /*#__PURE__*/_react["default"].createElement(_Combobox.Combobox, _extends({
47
50
  ref: ref
@@ -50,4 +53,19 @@ var Combobox = exports.Combobox = /*#__PURE__*/(0, _react.forwardRef)(function (
50
53
  return /*#__PURE__*/_react["default"].createElement(_Legacy.Combobox, _extends({
51
54
  ref: ref
52
55
  }, props));
53
- });
56
+ });
57
+ var Combobox = exports.Combobox = ComboboxComponent;
58
+
59
+ // Alternative approach
60
+
61
+ var ComboboxComponent2 = function ComboboxComponent2(props, ref) {
62
+ if (props.items) {
63
+ return /*#__PURE__*/_react["default"].createElement(_Combobox.Combobox, _extends({
64
+ ref: ref
65
+ }, props));
66
+ }
67
+ return /*#__PURE__*/_react["default"].createElement(_Legacy.Combobox, _extends({
68
+ ref: ref
69
+ }, props));
70
+ };
71
+ var Combobox2 = exports.Combobox2 = /*#__PURE__*/fixedForwardRef(ComboboxComponent2);
@@ -6,8 +6,7 @@ var plasmaNewHope = require('@salutejs/plasma-new-hope');
6
6
  var Combobox_config = require('./Combobox.config.js');
7
7
 
8
8
  var mergedConfig = /*#__PURE__*/plasmaNewHope.mergeConfig(plasmaNewHope.comboboxNewConfig, Combobox_config.config);
9
- var ComboboxComponent = /*#__PURE__*/plasmaNewHope.component(mergedConfig);
10
- var Combobox = ComboboxComponent;
9
+ var Combobox = /*#__PURE__*/plasmaNewHope.component(mergedConfig);
11
10
 
12
11
  // const items = [
13
12
  // {
@@ -36,5 +35,4 @@ var Combobox = ComboboxComponent;
36
35
  // };
37
36
 
38
37
  exports.Combobox = Combobox;
39
- exports.ComboboxComponent = ComboboxComponent;
40
38
  //# sourceMappingURL=Combobox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src-css/components/Combobox/Combobox.tsx"],"sourcesContent":["import type { ComponentProps, ReactElement, ForwardedRef } from 'react';\nimport { comboboxNewConfig, component, mergeConfig } from '@salutejs/plasma-new-hope';\nimport type { ComboboxProps, ItemOption } from '@salutejs/plasma-new-hope';\n// import React from 'react';\n\nimport { config } from './Combobox.config';\n\nconst mergedConfig = mergeConfig(comboboxNewConfig, config);\nexport const ComboboxComponent = component(mergedConfig);\n\ntype PropsFromConfig = 'view' | 'size' | 'labelPlacement' | 'disabled' | 'readOnly';\n\ntype ComboboxType = <T extends ItemOption>(\n props: Omit<ComboboxProps<T>, PropsFromConfig> &\n Pick<ComponentProps<typeof ComboboxComponent>, PropsFromConfig> & { ref?: ForwardedRef<HTMLInputElement> },\n) => ReactElement;\n\nconst Combobox = ComboboxComponent as ComboboxType;\n\nexport { Combobox };\n\n// const items = [\n// {\n// value: 'north_america',\n// label: 'Северная Америка',\n// name: 'dima',\n// },\n// {\n// value: 'north_america',\n// label: 'Северная Америка',\n// name: 'dima',\n// },\n// ];\n//\n// const Func = () => {\n// return (\n// <Combobox\n// items={items}\n// renderItem={(item) => {\n// console.log(item);\n//\n// return <div>123</div>;\n// }}\n// />\n// );\n// };\n"],"names":["mergedConfig","mergeConfig","comboboxNewConfig","config","ComboboxComponent","component","Combobox"],"mappings":";;;;;;;AAOA,IAAMA,YAAY,gBAAGC,yBAAW,CAACC,+BAAiB,EAAEC,sBAAM,CAAC,CAAA;IAC9CC,iBAAiB,gBAAGC,uBAAS,CAACL,YAAY,EAAC;AASlDM,IAAAA,QAAQ,GAAGF,kBAAiC;;AAIlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src-css/components/Combobox/Combobox.tsx"],"sourcesContent":["import { comboboxNewConfig, component, mergeConfig } from '@salutejs/plasma-new-hope';\n\n// import React from 'react';\nimport { config } from './Combobox.config';\n\nconst mergedConfig = mergeConfig(comboboxNewConfig, config);\nconst Combobox = component(mergedConfig);\n\n// type PropsFromConfig = 'view' | 'size' | 'labelPlacement' | 'disabled' | 'readOnly';\n//\n// type ComboboxType = <T extends ItemOption>(\n// props: Omit<ComboboxProps<T>, PropsFromConfig> &\n// Pick<ComponentProps<typeof ComboboxComponent>, PropsFromConfig> & { ref?: ForwardedRef<HTMLInputElement> },\n// ) => ReactElement;\n//\n// const Combobox = ComboboxComponent as ComboboxType;\n\nexport { Combobox };\n\n// const items = [\n// {\n// value: 'north_america',\n// label: 'Северная Америка',\n// name: 'dima',\n// },\n// {\n// value: 'north_america',\n// label: 'Северная Америка',\n// name: 'dima',\n// },\n// ];\n//\n// const Func = () => {\n// return (\n// <Combobox\n// items={items}\n// renderItem={(item) => {\n// console.log(item);\n//\n// return <div>123</div>;\n// }}\n// />\n// );\n// };\n"],"names":["mergedConfig","mergeConfig","comboboxNewConfig","config","Combobox","component"],"mappings":";;;;;;;AAKA,IAAMA,YAAY,gBAAGC,yBAAW,CAACC,+BAAiB,EAAEC,sBAAM,CAAC,CAAA;AAC3D,IAAMC,QAAQ,gBAAGC,uBAAS,CAACL,YAAY,EAAC;;AAaxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -7,7 +7,10 @@ var React = require('react');
7
7
  var Combobox$2 = require('./Combobox.js');
8
8
  var Combobox$1 = require('./Legacy/Combobox.js');
9
9
 
10
- var Combobox = /*#__PURE__*/React.forwardRef(function (props, ref) {
10
+ function fixedForwardRef(render) {
11
+ return /*#__PURE__*/React.forwardRef(render);
12
+ }
13
+ var ComboboxComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
14
  if (props.items) {
12
15
  return /*#__PURE__*/React.createElement(Combobox$2.Combobox, _rollupPluginBabelHelpers.extends({
13
16
  ref: ref
@@ -17,6 +20,21 @@ var Combobox = /*#__PURE__*/React.forwardRef(function (props, ref) {
17
20
  ref: ref
18
21
  }, props));
19
22
  });
23
+ var Combobox = ComboboxComponent;
24
+
25
+ // Alternative approach
26
+
27
+ var ComboboxComponent2 = function ComboboxComponent2(props, ref) {
28
+ if (props.items) {
29
+ return /*#__PURE__*/React.createElement(Combobox$2.Combobox, _rollupPluginBabelHelpers.extends({
30
+ ref: ref
31
+ }, props));
32
+ }
33
+ return /*#__PURE__*/React.createElement(Combobox$1.Combobox, _rollupPluginBabelHelpers.extends({
34
+ ref: ref
35
+ }, props));
36
+ };
37
+ var Combobox2 = /*#__PURE__*/fixedForwardRef(ComboboxComponent2);
20
38
 
21
39
  exports.ComboboxDivider = Combobox$1.ComboboxDivider;
22
40
  exports.ComboboxFooter = Combobox$1.ComboboxFooter;
@@ -24,4 +42,5 @@ exports.ComboboxGroup = Combobox$1.ComboboxGroup;
24
42
  exports.ComboboxHeader = Combobox$1.ComboboxHeader;
25
43
  exports.ComboboxItem = Combobox$1.ComboboxItem;
26
44
  exports.Combobox = Combobox;
45
+ exports.Combobox2 = Combobox2;
27
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src-css/components/Combobox/index.tsx"],"sourcesContent":["import React, { forwardRef, ComponentProps } from 'react';\n\nimport { Combobox as ComboboxOld } from './Legacy';\nimport { Combobox as ComboboxNew } from './Combobox';\n\nexport { ComboboxDivider, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxItem } from './Legacy';\n\nexport type { ComboboxOldProps as ComboboxProps } from '@salutejs/plasma-new-hope';\n\ntype PropsOld = ComponentProps<typeof ComboboxOld> & { items?: never };\ntype PropsNew = ComponentProps<typeof ComboboxNew>;\n\ntype CommonProps = PropsOld | PropsNew;\n\nconst Combobox = forwardRef<HTMLInputElement, CommonProps>((props, ref) => {\n if (props.items) {\n return <ComboboxNew ref={ref} {...props} />;\n }\n\n return <ComboboxOld ref={ref} {...props} />;\n});\n\nexport { Combobox };\n"],"names":["Combobox","forwardRef","props","ref","items","React","createElement","ComboboxNew","_extends","ComboboxOld"],"mappings":";;;;;;;;;AAcMA,IAAAA,QAAQ,gBAAGC,gBAAU,CAAgC,UAACC,KAAK,EAAEC,GAAG,EAAK;EACvE,IAAID,KAAK,CAACE,KAAK,EAAE;AACb,IAAA,oBAAOC,KAAA,CAAAC,aAAA,CAACC,mBAAW,EAAAC,iCAAA,CAAA;AAACL,MAAAA,GAAG,EAAEA,GAAAA;KAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,GAAA;AAEA,EAAA,oBAAOG,KAAA,CAAAC,aAAA,CAACG,mBAAW,EAAAD,iCAAA,CAAA;AAACL,IAAAA,GAAG,EAAEA,GAAAA;GAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,CAAC;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src-css/components/Combobox/index.tsx"],"sourcesContent":["import React, { forwardRef, ComponentProps, ForwardedRef, ReactElement } from 'react';\nimport type { ItemOption, ComboboxProps } from '@salutejs/plasma-new-hope';\n\nimport { Combobox as ComboboxOld } from './Legacy';\nimport { Combobox as ComboboxNew } from './Combobox';\n\nexport { ComboboxDivider, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxItem } from './Legacy';\n\nexport type { ComboboxOldProps as ComboboxProps } from '@salutejs/plasma-new-hope';\n\nfunction fixedForwardRef<T, P = {}>(\n render: (props: P, ref: React.Ref<T>) => React.ReactNode,\n): (props: P & React.RefAttributes<T>) => React.ReactNode {\n return forwardRef(render as any) as any;\n}\n\ntype PropsFromConfig = 'view' | 'size' | 'labelPlacement' | 'disabled' | 'readOnly';\n\ntype PropsOld = ComponentProps<typeof ComboboxOld> & { items?: never };\n\ntype CommonProps = <T extends ItemOption>(\n props:\n | PropsOld\n | (Omit<ComboboxProps<T>, PropsFromConfig> &\n Pick<ComponentProps<typeof ComboboxNew>, PropsFromConfig> & { ref?: ForwardedRef<HTMLInputElement> }),\n) => ReactElement;\n\nconst ComboboxComponent = forwardRef<any, any>((props, ref) => {\n if (props.items) {\n return <ComboboxNew ref={ref} {...props} />;\n }\n\n return <ComboboxOld ref={ref} {...props} />;\n});\n\nexport const Combobox = ComboboxComponent as CommonProps;\n\n// Alternative approach\n\ntype PropsNew<T extends ItemOption> = Omit<ComboboxProps<T>, PropsFromConfig> &\n Pick<ComponentProps<typeof ComboboxNew>, PropsFromConfig>;\n\ntype CommonProps2<T extends ItemOption> = PropsOld | PropsNew<T>;\n\nconst ComboboxComponent2 = <T extends ItemOption>(\n props: CommonProps2<T>,\n ref: React.ForwardedRef<HTMLInputElement>,\n) => {\n if (props.items) {\n return <ComboboxNew ref={ref} {...(props as any)} />;\n }\n\n return <ComboboxOld ref={ref} {...props} />;\n};\n\nexport const Combobox2 = fixedForwardRef(ComboboxComponent2);\n"],"names":["fixedForwardRef","render","forwardRef","ComboboxComponent","props","ref","items","React","createElement","ComboboxNew","_extends","ComboboxOld","Combobox","ComboboxComponent2","Combobox2"],"mappings":";;;;;;;;;AAUA,SAASA,eAAeA,CACpBC,MAAwD,EACF;EACtD,oBAAOC,gBAAU,CAACD,MAAa,CAAC,CAAA;AACpC,CAAA;AAaA,IAAME,iBAAiB,gBAAGD,gBAAU,CAAW,UAACE,KAAK,EAAEC,GAAG,EAAK;EAC3D,IAAID,KAAK,CAACE,KAAK,EAAE;AACb,IAAA,oBAAOC,KAAA,CAAAC,aAAA,CAACC,mBAAW,EAAAC,iCAAA,CAAA;AAACL,MAAAA,GAAG,EAAEA,GAAAA;KAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,GAAA;AAEA,EAAA,oBAAOG,KAAA,CAAAC,aAAA,CAACG,mBAAW,EAAAD,iCAAA,CAAA;AAACL,IAAAA,GAAG,EAAEA,GAAAA;GAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEK,IAAMQ,QAAQ,GAAGT,kBAAgC;;AAExD;;AAOA,IAAMU,kBAAkB,GAAG,SAArBA,kBAAkBA,CACpBT,KAAsB,EACtBC,GAAyC,EACxC;EACD,IAAID,KAAK,CAACE,KAAK,EAAE;AACb,IAAA,oBAAOC,KAAA,CAAAC,aAAA,CAACC,mBAAW,EAAAC,iCAAA,CAAA;AAACL,MAAAA,GAAG,EAAEA,GAAAA;KAAUD,EAAAA,KAAK,CAAW,CAAC,CAAA;AACxD,GAAA;AAEA,EAAA,oBAAOG,KAAA,CAAAC,aAAA,CAACG,mBAAW,EAAAD,iCAAA,CAAA;AAACL,IAAAA,GAAG,EAAEA,GAAAA;GAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,CAAC,CAAA;IAEYU,SAAS,gBAAGd,eAAe,CAACa,kBAAkB;;;;;;;;;;"}
package/css/cjs/index.js CHANGED
@@ -68,6 +68,7 @@ var index$1 = require('./components/Typography/Old/index.js');
68
68
 
69
69
 
70
70
  exports.Combobox = index.Combobox;
71
+ exports.Combobox2 = index.Combobox2;
71
72
  Object.defineProperty(exports, 'AccordionItem', {
72
73
  enumerable: true,
73
74
  get: function () { return plasmaNewHope.AccordionItem; }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,8 +2,7 @@ import { component, mergeConfig, comboboxNewConfig } from '@salutejs/plasma-new-
2
2
  import { config } from './Combobox.config.js';
3
3
 
4
4
  var mergedConfig = /*#__PURE__*/mergeConfig(comboboxNewConfig, config);
5
- var ComboboxComponent = /*#__PURE__*/component(mergedConfig);
6
- var Combobox = ComboboxComponent;
5
+ var Combobox = /*#__PURE__*/component(mergedConfig);
7
6
 
8
7
  // const items = [
9
8
  // {
@@ -31,5 +30,5 @@ var Combobox = ComboboxComponent;
31
30
  // );
32
31
  // };
33
32
 
34
- export { Combobox, ComboboxComponent };
33
+ export { Combobox };
35
34
  //# sourceMappingURL=Combobox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","sources":["../../../../src-css/components/Combobox/Combobox.tsx"],"sourcesContent":["import type { ComponentProps, ReactElement, ForwardedRef } from 'react';\nimport { comboboxNewConfig, component, mergeConfig } from '@salutejs/plasma-new-hope';\nimport type { ComboboxProps, ItemOption } from '@salutejs/plasma-new-hope';\n// import React from 'react';\n\nimport { config } from './Combobox.config';\n\nconst mergedConfig = mergeConfig(comboboxNewConfig, config);\nexport const ComboboxComponent = component(mergedConfig);\n\ntype PropsFromConfig = 'view' | 'size' | 'labelPlacement' | 'disabled' | 'readOnly';\n\ntype ComboboxType = <T extends ItemOption>(\n props: Omit<ComboboxProps<T>, PropsFromConfig> &\n Pick<ComponentProps<typeof ComboboxComponent>, PropsFromConfig> & { ref?: ForwardedRef<HTMLInputElement> },\n) => ReactElement;\n\nconst Combobox = ComboboxComponent as ComboboxType;\n\nexport { Combobox };\n\n// const items = [\n// {\n// value: 'north_america',\n// label: 'Северная Америка',\n// name: 'dima',\n// },\n// {\n// value: 'north_america',\n// label: 'Северная Америка',\n// name: 'dima',\n// },\n// ];\n//\n// const Func = () => {\n// return (\n// <Combobox\n// items={items}\n// renderItem={(item) => {\n// console.log(item);\n//\n// return <div>123</div>;\n// }}\n// />\n// );\n// };\n"],"names":["mergedConfig","mergeConfig","comboboxNewConfig","config","ComboboxComponent","component","Combobox"],"mappings":";;;AAOA,IAAMA,YAAY,gBAAGC,WAAW,CAACC,iBAAiB,EAAEC,MAAM,CAAC,CAAA;IAC9CC,iBAAiB,gBAAGC,SAAS,CAACL,YAAY,EAAC;AASlDM,IAAAA,QAAQ,GAAGF,kBAAiC;;AAIlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
1
+ {"version":3,"file":"Combobox.js","sources":["../../../../src-css/components/Combobox/Combobox.tsx"],"sourcesContent":["import { comboboxNewConfig, component, mergeConfig } from '@salutejs/plasma-new-hope';\n\n// import React from 'react';\nimport { config } from './Combobox.config';\n\nconst mergedConfig = mergeConfig(comboboxNewConfig, config);\nconst Combobox = component(mergedConfig);\n\n// type PropsFromConfig = 'view' | 'size' | 'labelPlacement' | 'disabled' | 'readOnly';\n//\n// type ComboboxType = <T extends ItemOption>(\n// props: Omit<ComboboxProps<T>, PropsFromConfig> &\n// Pick<ComponentProps<typeof ComboboxComponent>, PropsFromConfig> & { ref?: ForwardedRef<HTMLInputElement> },\n// ) => ReactElement;\n//\n// const Combobox = ComboboxComponent as ComboboxType;\n\nexport { Combobox };\n\n// const items = [\n// {\n// value: 'north_america',\n// label: 'Северная Америка',\n// name: 'dima',\n// },\n// {\n// value: 'north_america',\n// label: 'Северная Америка',\n// name: 'dima',\n// },\n// ];\n//\n// const Func = () => {\n// return (\n// <Combobox\n// items={items}\n// renderItem={(item) => {\n// console.log(item);\n//\n// return <div>123</div>;\n// }}\n// />\n// );\n// };\n"],"names":["mergedConfig","mergeConfig","comboboxNewConfig","config","Combobox","component"],"mappings":";;;AAKA,IAAMA,YAAY,gBAAGC,WAAW,CAACC,iBAAiB,EAAEC,MAAM,CAAC,CAAA;AAC3D,IAAMC,QAAQ,gBAAGC,SAAS,CAACL,YAAY,EAAC;;AAaxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -4,7 +4,10 @@ import { Combobox as Combobox$1 } from './Combobox.js';
4
4
  import { Combobox as Combobox$2 } from './Legacy/Combobox.js';
5
5
  export { ComboboxDivider, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxItem } from './Legacy/Combobox.js';
6
6
 
7
- var Combobox = /*#__PURE__*/forwardRef(function (props, ref) {
7
+ function fixedForwardRef(render) {
8
+ return /*#__PURE__*/forwardRef(render);
9
+ }
10
+ var ComboboxComponent = /*#__PURE__*/forwardRef(function (props, ref) {
8
11
  if (props.items) {
9
12
  return /*#__PURE__*/React.createElement(Combobox$1, _extends({
10
13
  ref: ref
@@ -14,6 +17,21 @@ var Combobox = /*#__PURE__*/forwardRef(function (props, ref) {
14
17
  ref: ref
15
18
  }, props));
16
19
  });
20
+ var Combobox = ComboboxComponent;
17
21
 
18
- export { Combobox };
22
+ // Alternative approach
23
+
24
+ var ComboboxComponent2 = function ComboboxComponent2(props, ref) {
25
+ if (props.items) {
26
+ return /*#__PURE__*/React.createElement(Combobox$1, _extends({
27
+ ref: ref
28
+ }, props));
29
+ }
30
+ return /*#__PURE__*/React.createElement(Combobox$2, _extends({
31
+ ref: ref
32
+ }, props));
33
+ };
34
+ var Combobox2 = /*#__PURE__*/fixedForwardRef(ComboboxComponent2);
35
+
36
+ export { Combobox, Combobox2 };
19
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src-css/components/Combobox/index.tsx"],"sourcesContent":["import React, { forwardRef, ComponentProps } from 'react';\n\nimport { Combobox as ComboboxOld } from './Legacy';\nimport { Combobox as ComboboxNew } from './Combobox';\n\nexport { ComboboxDivider, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxItem } from './Legacy';\n\nexport type { ComboboxOldProps as ComboboxProps } from '@salutejs/plasma-new-hope';\n\ntype PropsOld = ComponentProps<typeof ComboboxOld> & { items?: never };\ntype PropsNew = ComponentProps<typeof ComboboxNew>;\n\ntype CommonProps = PropsOld | PropsNew;\n\nconst Combobox = forwardRef<HTMLInputElement, CommonProps>((props, ref) => {\n if (props.items) {\n return <ComboboxNew ref={ref} {...props} />;\n }\n\n return <ComboboxOld ref={ref} {...props} />;\n});\n\nexport { Combobox };\n"],"names":["Combobox","forwardRef","props","ref","items","React","createElement","ComboboxNew","_extends","ComboboxOld"],"mappings":";;;;;;AAcMA,IAAAA,QAAQ,gBAAGC,UAAU,CAAgC,UAACC,KAAK,EAAEC,GAAG,EAAK;EACvE,IAAID,KAAK,CAACE,KAAK,EAAE;AACb,IAAA,oBAAOC,KAAA,CAAAC,aAAA,CAACC,UAAW,EAAAC,QAAA,CAAA;AAACL,MAAAA,GAAG,EAAEA,GAAAA;KAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,GAAA;AAEA,EAAA,oBAAOG,KAAA,CAAAC,aAAA,CAACG,UAAW,EAAAD,QAAA,CAAA;AAACL,IAAAA,GAAG,EAAEA,GAAAA;GAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src-css/components/Combobox/index.tsx"],"sourcesContent":["import React, { forwardRef, ComponentProps, ForwardedRef, ReactElement } from 'react';\nimport type { ItemOption, ComboboxProps } from '@salutejs/plasma-new-hope';\n\nimport { Combobox as ComboboxOld } from './Legacy';\nimport { Combobox as ComboboxNew } from './Combobox';\n\nexport { ComboboxDivider, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxItem } from './Legacy';\n\nexport type { ComboboxOldProps as ComboboxProps } from '@salutejs/plasma-new-hope';\n\nfunction fixedForwardRef<T, P = {}>(\n render: (props: P, ref: React.Ref<T>) => React.ReactNode,\n): (props: P & React.RefAttributes<T>) => React.ReactNode {\n return forwardRef(render as any) as any;\n}\n\ntype PropsFromConfig = 'view' | 'size' | 'labelPlacement' | 'disabled' | 'readOnly';\n\ntype PropsOld = ComponentProps<typeof ComboboxOld> & { items?: never };\n\ntype CommonProps = <T extends ItemOption>(\n props:\n | PropsOld\n | (Omit<ComboboxProps<T>, PropsFromConfig> &\n Pick<ComponentProps<typeof ComboboxNew>, PropsFromConfig> & { ref?: ForwardedRef<HTMLInputElement> }),\n) => ReactElement;\n\nconst ComboboxComponent = forwardRef<any, any>((props, ref) => {\n if (props.items) {\n return <ComboboxNew ref={ref} {...props} />;\n }\n\n return <ComboboxOld ref={ref} {...props} />;\n});\n\nexport const Combobox = ComboboxComponent as CommonProps;\n\n// Alternative approach\n\ntype PropsNew<T extends ItemOption> = Omit<ComboboxProps<T>, PropsFromConfig> &\n Pick<ComponentProps<typeof ComboboxNew>, PropsFromConfig>;\n\ntype CommonProps2<T extends ItemOption> = PropsOld | PropsNew<T>;\n\nconst ComboboxComponent2 = <T extends ItemOption>(\n props: CommonProps2<T>,\n ref: React.ForwardedRef<HTMLInputElement>,\n) => {\n if (props.items) {\n return <ComboboxNew ref={ref} {...(props as any)} />;\n }\n\n return <ComboboxOld ref={ref} {...props} />;\n};\n\nexport const Combobox2 = fixedForwardRef(ComboboxComponent2);\n"],"names":["fixedForwardRef","render","forwardRef","ComboboxComponent","props","ref","items","React","createElement","ComboboxNew","_extends","ComboboxOld","Combobox","ComboboxComponent2","Combobox2"],"mappings":";;;;;;AAUA,SAASA,eAAeA,CACpBC,MAAwD,EACF;EACtD,oBAAOC,UAAU,CAACD,MAAa,CAAC,CAAA;AACpC,CAAA;AAaA,IAAME,iBAAiB,gBAAGD,UAAU,CAAW,UAACE,KAAK,EAAEC,GAAG,EAAK;EAC3D,IAAID,KAAK,CAACE,KAAK,EAAE;AACb,IAAA,oBAAOC,KAAA,CAAAC,aAAA,CAACC,UAAW,EAAAC,QAAA,CAAA;AAACL,MAAAA,GAAG,EAAEA,GAAAA;KAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,GAAA;AAEA,EAAA,oBAAOG,KAAA,CAAAC,aAAA,CAACG,UAAW,EAAAD,QAAA,CAAA;AAACL,IAAAA,GAAG,EAAEA,GAAAA;GAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,CAAC,CAAC,CAAA;AAEK,IAAMQ,QAAQ,GAAGT,kBAAgC;;AAExD;;AAOA,IAAMU,kBAAkB,GAAG,SAArBA,kBAAkBA,CACpBT,KAAsB,EACtBC,GAAyC,EACxC;EACD,IAAID,KAAK,CAACE,KAAK,EAAE;AACb,IAAA,oBAAOC,KAAA,CAAAC,aAAA,CAACC,UAAW,EAAAC,QAAA,CAAA;AAACL,MAAAA,GAAG,EAAEA,GAAAA;KAAUD,EAAAA,KAAK,CAAW,CAAC,CAAA;AACxD,GAAA;AAEA,EAAA,oBAAOG,KAAA,CAAAC,aAAA,CAACG,UAAW,EAAAD,QAAA,CAAA;AAACL,IAAAA,GAAG,EAAEA,GAAAA;GAASD,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C,CAAC,CAAA;IAEYU,SAAS,gBAAGd,eAAe,CAACa,kBAAkB;;;;"}
package/css/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Combobox } from './components/Combobox/index.js';
1
+ export { Combobox, Combobox2 } from './components/Combobox/index.js';
2
2
  export { AccordionItem, ButtonBase, CellTextbox, CellTextboxLabel, CellTextboxSubtitle, CellTextboxTitle, Col, Overlay, PopupProvider as PopupBaseProvider, Portal, RadioGroup, RectSkeleton, Row, SSRProvider, SegmentProvider, TabItemRefs, TabsContext, addNotification, closeNotification, counterTokens, datePickerClasses, datePickerTokens, dividerTokens, modalClasses as modalBaseClasses, popupClasses as popupBaseClasses, priceClasses, rangeTokens, sheetClasses, toolbarTokens, usePopupContext as usePopupBaseContext, useSegment, useToast } from '@salutejs/plasma-new-hope';
3
3
  export { Accordion } from './components/Accordion/Accordion.js';
4
4
  export { Attach } from './components/Attach/Attach.js';
@@ -1,10 +1,19 @@
1
1
  import { comboboxNewConfig, component, mergeConfig } from '@salutejs/plasma-new-hope/styled-components';
2
- // import React from 'react';
3
2
 
3
+ // import React from 'react';
4
4
  import { config } from './Combobox.config';
5
5
  var mergedConfig = /*#__PURE__*/mergeConfig(comboboxNewConfig, config);
6
- export var ComboboxComponent = /*#__PURE__*/component(mergedConfig);
7
- var Combobox = ComboboxComponent;
6
+ var Combobox = /*#__PURE__*/component(mergedConfig);
7
+
8
+ // type PropsFromConfig = 'view' | 'size' | 'labelPlacement' | 'disabled' | 'readOnly';
9
+ //
10
+ // type ComboboxType = <T extends ItemOption>(
11
+ // props: Omit<ComboboxProps<T>, PropsFromConfig> &
12
+ // Pick<ComponentProps<typeof ComboboxComponent>, PropsFromConfig> & { ref?: ForwardedRef<HTMLInputElement> },
13
+ // ) => ReactElement;
14
+ //
15
+ // const Combobox = ComboboxComponent as ComboboxType;
16
+
8
17
  export { Combobox };
9
18
 
10
19
  // const items = [
@@ -3,7 +3,10 @@ import React, { forwardRef } from 'react';
3
3
  import { Combobox as ComboboxOld } from './Legacy';
4
4
  import { Combobox as ComboboxNew } from './Combobox';
5
5
  export { ComboboxDivider, ComboboxFooter, ComboboxGroup, ComboboxHeader, ComboboxItem } from './Legacy';
6
- var Combobox = /*#__PURE__*/forwardRef(function (props, ref) {
6
+ function fixedForwardRef(render) {
7
+ return /*#__PURE__*/forwardRef(render);
8
+ }
9
+ var ComboboxComponent = /*#__PURE__*/forwardRef(function (props, ref) {
7
10
  if (props.items) {
8
11
  return /*#__PURE__*/React.createElement(ComboboxNew, _extends({
9
12
  ref: ref
@@ -13,4 +16,18 @@ var Combobox = /*#__PURE__*/forwardRef(function (props, ref) {
13
16
  ref: ref
14
17
  }, props));
15
18
  });
16
- export { Combobox };
19
+ export var Combobox = ComboboxComponent;
20
+
21
+ // Alternative approach
22
+
23
+ var ComboboxComponent2 = function ComboboxComponent2(props, ref) {
24
+ if (props.items) {
25
+ return /*#__PURE__*/React.createElement(ComboboxNew, _extends({
26
+ ref: ref
27
+ }, props));
28
+ }
29
+ return /*#__PURE__*/React.createElement(ComboboxOld, _extends({
30
+ ref: ref
31
+ }, props));
32
+ };
33
+ export var Combobox2 = /*#__PURE__*/fixedForwardRef(ComboboxComponent2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-b2c",
3
- "version": "1.413.0-canary.1470.11191908547.0",
3
+ "version": "1.413.0-canary.1470.11192852883.0",
4
4
  "description": "Salute Design System / React UI kit for business-related web applications",
5
5
  "author": "Salute Frontend Team <salute.developers@gmail.com>",
6
6
  "license": "MIT",
@@ -44,7 +44,7 @@
44
44
  "dependencies": {
45
45
  "@salutejs/plasma-core": "1.180.0",
46
46
  "@salutejs/plasma-hope": "1.313.0",
47
- "@salutejs/plasma-new-hope": "0.162.0-canary.1470.11191908547.0",
47
+ "@salutejs/plasma-new-hope": "0.162.0-canary.1470.11192852883.0",
48
48
  "@salutejs/plasma-themes": "0.18.0",
49
49
  "@salutejs/plasma-tokens-b2c": "0.52.0",
50
50
  "@salutejs/plasma-tokens-web": "1.57.0",
@@ -109,5 +109,5 @@
109
109
  "react"
110
110
  ],
111
111
  "sideEffects": false,
112
- "gitHead": "a5419bb3774fd80c76357a84f021a153fbd23782"
112
+ "gitHead": "31708cca2dab9da6e091c77255d9b52e5761cd92"
113
113
  }