@salutejs/plasma-new-hope 0.267.0-dev.0 → 0.267.1-canary.1777.13369684944.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +8 -1
- package/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js.map +1 -1
- package/cjs/components/Select/ui/SelectNative/SelectNative.js +8 -1
- package/cjs/components/Select/ui/SelectNative/SelectNative.js.map +1 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +8 -1
- package/emotion/cjs/components/Select/ui/SelectNative/SelectNative.js +8 -1
- package/emotion/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +8 -1
- package/emotion/es/components/Select/ui/SelectNative/SelectNative.js +8 -1
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +8 -1
- package/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js.map +1 -1
- package/es/components/Select/ui/SelectNative/SelectNative.js +8 -1
- package/es/components/Select/ui/SelectNative/SelectNative.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +8 -1
- package/styled-components/cjs/components/Select/ui/SelectNative/SelectNative.js +8 -1
- package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js +8 -1
- package/styled-components/es/components/Select/ui/SelectNative/SelectNative.js +8 -1
- package/types/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.d.ts.map +1 -1
- package/types/components/Select/ui/SelectNative/SelectNative.d.ts.map +1 -1
@@ -11,6 +11,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
|
12
12
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
13
13
|
|
14
|
+
var _option;
|
14
15
|
var SelectNative = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
15
16
|
var name = _ref.name,
|
16
17
|
multiple = _ref.multiple,
|
@@ -44,13 +45,19 @@ var SelectNative = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
44
45
|
onChange(event);
|
45
46
|
}
|
46
47
|
}, [values]);
|
48
|
+
|
49
|
+
//
|
50
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
51
|
+
// если нет изначального значения
|
52
|
+
//
|
53
|
+
|
47
54
|
return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, /*#__PURE__*/React__default.default.createElement(SelectNative_styles.SelectHidden, {
|
48
55
|
ref: forkRef,
|
49
56
|
multiple: multiple,
|
50
57
|
name: name,
|
51
58
|
hidden: true,
|
52
59
|
value: multiple ? values : values[0]
|
53
|
-
}, options.map(function (v) {
|
60
|
+
}, _option || (_option = /*#__PURE__*/React__default.default.createElement("option", null, " ")), options.map(function (v) {
|
54
61
|
return /*#__PURE__*/React__default.default.createElement("option", {
|
55
62
|
key: v,
|
56
63
|
value: v
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectNative.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../../utils';\nimport { ComboboxProps } from '../../Combobox.types';\nimport { ValueToItemMapType } from '../../hooks/getPathMaps';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<ComboboxProps, 'name' | 'value' | 'multiple'> & {\n onChange: (value: ChangeEvent<HTMLSelectElement> | null) => void;\n onSetValue: (value: string | string[]) => void;\n items: ValueToItemMapType;\n};\n\nexport const SelectNative = forwardRef<HTMLInputElement, Props>(\n ({ name, multiple, items, value, onChange, onSetValue }, ref) => {\n const values = (multiple ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n const options = Array.from(items.keys());\n\n useLayoutEffect(() => {\n if (selectRef.current && !multiple) {\n const valueInit = selectRef.current.value;\n\n if (valueInit) {\n onSetValue(valueInit);\n }\n }\n\n if (selectRef.current && multiple) {\n const valuesInit = Array.from(selectRef.current.selectedOptions).map((v) => v.value);\n if (valuesInit.length !== 0) {\n onSetValue(valuesInit);\n }\n }\n }, []);\n\n useLayoutEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n return (\n <>\n <SelectHidden\n ref={forkRef}\n multiple={multiple}\n name={name}\n hidden\n value={multiple ? values : values[0]}\n >\n {options.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n },\n);\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiple","items","value","onChange","onSetValue","values","selectRef","useRef","forkRef","useForkRef","options","Array","from","keys","useLayoutEffect","current","valueInit","valuesInit","selectedOptions","map","v","length","event","createEvent","React","createElement","Fragment","SelectHidden","hidden","key"],"mappings":"
|
1
|
+
{"version":3,"file":"SelectNative.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../../utils';\nimport { ComboboxProps } from '../../Combobox.types';\nimport { ValueToItemMapType } from '../../hooks/getPathMaps';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<ComboboxProps, 'name' | 'value' | 'multiple'> & {\n onChange: (value: ChangeEvent<HTMLSelectElement> | null) => void;\n onSetValue: (value: string | string[]) => void;\n items: ValueToItemMapType;\n};\n\nexport const SelectNative = forwardRef<HTMLInputElement, Props>(\n ({ name, multiple, items, value, onChange, onSetValue }, ref) => {\n const values = (multiple ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n const options = Array.from(items.keys());\n\n useLayoutEffect(() => {\n if (selectRef.current && !multiple) {\n const valueInit = selectRef.current.value;\n\n if (valueInit) {\n onSetValue(valueInit);\n }\n }\n\n if (selectRef.current && multiple) {\n const valuesInit = Array.from(selectRef.current.selectedOptions).map((v) => v.value);\n if (valuesInit.length !== 0) {\n onSetValue(valuesInit);\n }\n }\n }, []);\n\n useLayoutEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n //\n // Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,\n // если нет изначального значения\n //\n\n return (\n <>\n <SelectHidden\n ref={forkRef}\n multiple={multiple}\n name={name}\n hidden\n value={multiple ? values : values[0]}\n >\n <option> </option>\n {options.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n },\n);\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiple","items","value","onChange","onSetValue","values","selectRef","useRef","forkRef","useForkRef","options","Array","from","keys","useLayoutEffect","current","valueInit","valuesInit","selectedOptions","map","v","length","event","createEvent","React","createElement","Fragment","SelectHidden","hidden","_option","key"],"mappings":";;;;;;;;;;;;;;AAeO,IAAMA,YAAY,gBAAGC,gBAAU,CAClC,UAAAC,IAAA,EAAyDC,GAAG,EAAK;AAAA,EAAA,IAA9DC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IAAEC,UAAU,GAAAP,IAAA,CAAVO,UAAU,CAAA;EACjD,IAAMC,MAAM,GAAIL,QAAQ,GAAGE,KAAK,GAAG,CAACA,KAAK,CAAc,CAAA;AACvD,EAAA,IAAMI,SAAS,GAAGC,YAAM,CAAoB,IAAI,CAAC,CAAA;AACjD,EAAA,IAAMC,OAAO,GAAGC,qBAAU,CAACH,SAAS,EAAER,GAAU,CAAC,CAAA;EACjD,IAAMY,OAAO,GAAGC,KAAK,CAACC,IAAI,CAACX,KAAK,CAACY,IAAI,EAAE,CAAC,CAAA;AAExCC,EAAAA,qBAAe,CAAC,YAAM;AAClB,IAAA,IAAIR,SAAS,CAACS,OAAO,IAAI,CAACf,QAAQ,EAAE;AAChC,MAAA,IAAMgB,SAAS,GAAGV,SAAS,CAACS,OAAO,CAACb,KAAK,CAAA;AAEzC,MAAA,IAAIc,SAAS,EAAE;QACXZ,UAAU,CAACY,SAAS,CAAC,CAAA;AACzB,OAAA;AACJ,KAAA;AAEA,IAAA,IAAIV,SAAS,CAACS,OAAO,IAAIf,QAAQ,EAAE;AAC/B,MAAA,IAAMiB,UAAU,GAAGN,KAAK,CAACC,IAAI,CAACN,SAAS,CAACS,OAAO,CAACG,eAAe,CAAC,CAACC,GAAG,CAAC,UAACC,CAAC,EAAA;QAAA,OAAKA,CAAC,CAAClB,KAAK,CAAA;OAAC,CAAA,CAAA;AACpF,MAAA,IAAIe,UAAU,CAACI,MAAM,KAAK,CAAC,EAAE;QACzBjB,UAAU,CAACa,UAAU,CAAC,CAAA;AAC1B,OAAA;AACJ,KAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAENH,EAAAA,qBAAe,CAAC,YAAM;AAClB,IAAA,IAAMQ,KAAK,GAAGC,uBAAW,CAACjB,SAAS,CAAC,CAAA;AACpC,IAAA,IAAIH,QAAQ,EAAE;MACVA,QAAQ,CAACmB,KAAK,CAAC,CAAA;AACnB,KAAA;AACJ,GAAC,EAAE,CAACjB,MAAM,CAAC,CAAC,CAAA;;AAEZ;AACA;AACA;AACA;;AAEA,EAAA,oBACImB,sBAAA,CAAAC,aAAA,CAAAD,sBAAA,CAAAE,QAAA,EAAA,IAAA,eACIF,sBAAA,CAAAC,aAAA,CAACE,gCAAY,EAAA;AACT7B,IAAAA,GAAG,EAAEU,OAAQ;AACbR,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,IAAI,EAAEA,IAAK;IACX6B,MAAM,EAAA,IAAA;AACN1B,IAAAA,KAAK,EAAEF,QAAQ,GAAGK,MAAM,GAAGA,MAAM,CAAC,CAAC,CAAA;AAAE,GAAA,EAAAwB,OAAA,KAAAA,OAAA,gBAErCL,sBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA,IAAA,EAAQ,GAAS,CAAC,GACjBf,OAAO,CAACS,GAAG,CAAC,UAACC,CAAC,EAAA;IAAA,oBACXI,sBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQK,MAAAA,GAAG,EAAEV,CAAE;AAAClB,MAAAA,KAAK,EAAEkB,CAAAA;AAAE,KAAA,EACpBA,CACG,CAAC,CAAA;GACZ,CACS,CAChB,CAAC,CAAA;AAEX,CACJ;;;;"}
|
@@ -11,6 +11,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
|
12
12
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
13
13
|
|
14
|
+
var _option;
|
14
15
|
var SelectNative = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
15
16
|
var name = _ref.name,
|
16
17
|
multiselect = _ref.multiselect,
|
@@ -44,13 +45,19 @@ var SelectNative = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
44
45
|
onChange(event);
|
45
46
|
}
|
46
47
|
}, [values]);
|
48
|
+
|
49
|
+
//
|
50
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
51
|
+
// если нет изначального значения
|
52
|
+
//
|
53
|
+
|
47
54
|
return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, /*#__PURE__*/React__default.default.createElement(SelectNative_styles.SelectHidden, {
|
48
55
|
ref: forkRef,
|
49
56
|
multiple: multiselect,
|
50
57
|
name: name,
|
51
58
|
hidden: true,
|
52
59
|
value: multiselect ? values : values[0]
|
53
|
-
}, options.map(function (v) {
|
60
|
+
}, _option || (_option = /*#__PURE__*/React__default.default.createElement("option", null, " ")), options.map(function (v) {
|
54
61
|
return /*#__PURE__*/React__default.default.createElement("option", {
|
55
62
|
key: v,
|
56
63
|
value: v
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectNative.js","sources":["../../../../../src/components/Select/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../utils';\nimport { SelectProps } from '../../Select.types';\nimport { ValueToItemMapType } from '../../hooks/usePathMaps';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<SelectProps, 'name' | 'multiselect'> & {\n onChange: (newValue: ChangeEvent<HTMLSelectElement> | null) => void;\n onSetValue: (value: string | string[]) => void;\n items: ValueToItemMapType;\n value: string | number | Array<string | number>;\n};\n\nexport const SelectNative = forwardRef<HTMLButtonElement, Props>(\n ({ name, multiselect, items, value, onChange, onSetValue }, ref) => {\n const values = (multiselect ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n const options = Array.from(items.keys());\n\n useLayoutEffect(() => {\n if (selectRef.current && !multiselect) {\n const valueInit = selectRef.current.value;\n\n if (valueInit) {\n onSetValue(valueInit);\n }\n }\n\n if (selectRef.current && multiselect) {\n const valuesInit = Array.from(selectRef.current.selectedOptions).map((v) => v.value);\n if (valuesInit.length !== 0) {\n onSetValue(valuesInit);\n }\n }\n }, []);\n\n useLayoutEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n return (\n <>\n <SelectHidden\n ref={forkRef}\n multiple={multiselect}\n name={name}\n hidden\n value={multiselect ? values : values[0]}\n >\n {options.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n },\n);\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiselect","items","value","onChange","onSetValue","values","selectRef","useRef","forkRef","useForkRef","options","Array","from","keys","useLayoutEffect","current","valueInit","valuesInit","selectedOptions","map","v","length","event","createEvent","React","createElement","Fragment","SelectHidden","multiple","hidden","key"],"mappings":"
|
1
|
+
{"version":3,"file":"SelectNative.js","sources":["../../../../../src/components/Select/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../utils';\nimport { SelectProps } from '../../Select.types';\nimport { ValueToItemMapType } from '../../hooks/usePathMaps';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<SelectProps, 'name' | 'multiselect'> & {\n onChange: (newValue: ChangeEvent<HTMLSelectElement> | null) => void;\n onSetValue: (value: string | string[]) => void;\n items: ValueToItemMapType;\n value: string | number | Array<string | number>;\n};\n\nexport const SelectNative = forwardRef<HTMLButtonElement, Props>(\n ({ name, multiselect, items, value, onChange, onSetValue }, ref) => {\n const values = (multiselect ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n const options = Array.from(items.keys());\n\n useLayoutEffect(() => {\n if (selectRef.current && !multiselect) {\n const valueInit = selectRef.current.value;\n\n if (valueInit) {\n onSetValue(valueInit);\n }\n }\n\n if (selectRef.current && multiselect) {\n const valuesInit = Array.from(selectRef.current.selectedOptions).map((v) => v.value);\n if (valuesInit.length !== 0) {\n onSetValue(valuesInit);\n }\n }\n }, []);\n\n useLayoutEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n //\n // Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,\n // если нет изначального значения\n //\n\n return (\n <>\n <SelectHidden\n ref={forkRef}\n multiple={multiselect}\n name={name}\n hidden\n value={multiselect ? values : values[0]}\n >\n <option> </option>\n {options.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n },\n);\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiselect","items","value","onChange","onSetValue","values","selectRef","useRef","forkRef","useForkRef","options","Array","from","keys","useLayoutEffect","current","valueInit","valuesInit","selectedOptions","map","v","length","event","createEvent","React","createElement","Fragment","SelectHidden","multiple","hidden","_option","key"],"mappings":";;;;;;;;;;;;;;AAgBO,IAAMA,YAAY,gBAAGC,gBAAU,CAClC,UAAAC,IAAA,EAA4DC,GAAG,EAAK;AAAA,EAAA,IAAjEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IAAEC,UAAU,GAAAP,IAAA,CAAVO,UAAU,CAAA;EACpD,IAAMC,MAAM,GAAIL,WAAW,GAAGE,KAAK,GAAG,CAACA,KAAK,CAAc,CAAA;AAC1D,EAAA,IAAMI,SAAS,GAAGC,YAAM,CAAoB,IAAI,CAAC,CAAA;AACjD,EAAA,IAAMC,OAAO,GAAGC,qBAAU,CAACH,SAAS,EAAER,GAAU,CAAC,CAAA;EACjD,IAAMY,OAAO,GAAGC,KAAK,CAACC,IAAI,CAACX,KAAK,CAACY,IAAI,EAAE,CAAC,CAAA;AAExCC,EAAAA,qBAAe,CAAC,YAAM;AAClB,IAAA,IAAIR,SAAS,CAACS,OAAO,IAAI,CAACf,WAAW,EAAE;AACnC,MAAA,IAAMgB,SAAS,GAAGV,SAAS,CAACS,OAAO,CAACb,KAAK,CAAA;AAEzC,MAAA,IAAIc,SAAS,EAAE;QACXZ,UAAU,CAACY,SAAS,CAAC,CAAA;AACzB,OAAA;AACJ,KAAA;AAEA,IAAA,IAAIV,SAAS,CAACS,OAAO,IAAIf,WAAW,EAAE;AAClC,MAAA,IAAMiB,UAAU,GAAGN,KAAK,CAACC,IAAI,CAACN,SAAS,CAACS,OAAO,CAACG,eAAe,CAAC,CAACC,GAAG,CAAC,UAACC,CAAC,EAAA;QAAA,OAAKA,CAAC,CAAClB,KAAK,CAAA;OAAC,CAAA,CAAA;AACpF,MAAA,IAAIe,UAAU,CAACI,MAAM,KAAK,CAAC,EAAE;QACzBjB,UAAU,CAACa,UAAU,CAAC,CAAA;AAC1B,OAAA;AACJ,KAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAENH,EAAAA,qBAAe,CAAC,YAAM;AAClB,IAAA,IAAMQ,KAAK,GAAGC,uBAAW,CAACjB,SAAS,CAAC,CAAA;AACpC,IAAA,IAAIH,QAAQ,EAAE;MACVA,QAAQ,CAACmB,KAAK,CAAC,CAAA;AACnB,KAAA;AACJ,GAAC,EAAE,CAACjB,MAAM,CAAC,CAAC,CAAA;;AAEZ;AACA;AACA;AACA;;AAEA,EAAA,oBACImB,sBAAA,CAAAC,aAAA,CAAAD,sBAAA,CAAAE,QAAA,EAAA,IAAA,eACIF,sBAAA,CAAAC,aAAA,CAACE,gCAAY,EAAA;AACT7B,IAAAA,GAAG,EAAEU,OAAQ;AACboB,IAAAA,QAAQ,EAAE5B,WAAY;AACtBD,IAAAA,IAAI,EAAEA,IAAK;IACX8B,MAAM,EAAA,IAAA;AACN3B,IAAAA,KAAK,EAAEF,WAAW,GAAGK,MAAM,GAAGA,MAAM,CAAC,CAAC,CAAA;AAAE,GAAA,EAAAyB,OAAA,KAAAA,OAAA,gBAExCN,sBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA,IAAA,EAAQ,GAAS,CAAC,GACjBf,OAAO,CAACS,GAAG,CAAC,UAACC,CAAC,EAAA;IAAA,oBACXI,sBAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQM,MAAAA,GAAG,EAAEX,CAAE;AAAClB,MAAAA,KAAK,EAAEkB,CAAAA;AAAE,KAAA,EACpBA,CACG,CAAC,CAAA;GACZ,CACS,CAChB,CAAC,CAAA;AAEX,CACJ;;;;"}
|
@@ -9,6 +9,7 @@ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react")
|
|
9
9
|
var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
|
10
10
|
var _utils = /*#__PURE__*/require("../../../../../utils");
|
11
11
|
var _SelectNative = /*#__PURE__*/require("./SelectNative.styles");
|
12
|
+
var _option;
|
12
13
|
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); }
|
13
14
|
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; }
|
14
15
|
var SelectNative = exports.SelectNative = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
@@ -44,13 +45,19 @@ var SelectNative = exports.SelectNative = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
44
45
|
onChange(event);
|
45
46
|
}
|
46
47
|
}, [values]);
|
48
|
+
|
49
|
+
//
|
50
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
51
|
+
// если нет изначального значения
|
52
|
+
//
|
53
|
+
|
47
54
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_SelectNative.SelectHidden, {
|
48
55
|
ref: forkRef,
|
49
56
|
multiple: multiple,
|
50
57
|
name: name,
|
51
58
|
hidden: true,
|
52
59
|
value: multiple ? values : values[0]
|
53
|
-
}, options.map(function (v) {
|
60
|
+
}, _option || (_option = /*#__PURE__*/_react["default"].createElement("option", null, " ")), options.map(function (v) {
|
54
61
|
return /*#__PURE__*/_react["default"].createElement("option", {
|
55
62
|
key: v,
|
56
63
|
value: v
|
@@ -9,6 +9,7 @@ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react")
|
|
9
9
|
var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
|
10
10
|
var _utils = /*#__PURE__*/require("../../../../utils");
|
11
11
|
var _SelectNative = /*#__PURE__*/require("./SelectNative.styles");
|
12
|
+
var _option;
|
12
13
|
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); }
|
13
14
|
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; }
|
14
15
|
var SelectNative = exports.SelectNative = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
@@ -44,13 +45,19 @@ var SelectNative = exports.SelectNative = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
44
45
|
onChange(event);
|
45
46
|
}
|
46
47
|
}, [values]);
|
48
|
+
|
49
|
+
//
|
50
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
51
|
+
// если нет изначального значения
|
52
|
+
//
|
53
|
+
|
47
54
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_SelectNative.SelectHidden, {
|
48
55
|
ref: forkRef,
|
49
56
|
multiple: multiselect,
|
50
57
|
name: name,
|
51
58
|
hidden: true,
|
52
59
|
value: multiselect ? values : values[0]
|
53
|
-
}, options.map(function (v) {
|
60
|
+
}, _option || (_option = /*#__PURE__*/_react["default"].createElement("option", null, " ")), options.map(function (v) {
|
54
61
|
return /*#__PURE__*/_react["default"].createElement("option", {
|
55
62
|
key: v,
|
56
63
|
value: v
|
@@ -1,3 +1,4 @@
|
|
1
|
+
var _option;
|
1
2
|
import React, { forwardRef, useLayoutEffect, useRef } from 'react';
|
2
3
|
import { useForkRef } from '@salutejs/plasma-core';
|
3
4
|
import { createEvent } from '../../../../../utils';
|
@@ -35,13 +36,19 @@ export var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
35
36
|
onChange(event);
|
36
37
|
}
|
37
38
|
}, [values]);
|
39
|
+
|
40
|
+
//
|
41
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
42
|
+
// если нет изначального значения
|
43
|
+
//
|
44
|
+
|
38
45
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SelectHidden, {
|
39
46
|
ref: forkRef,
|
40
47
|
multiple: multiple,
|
41
48
|
name: name,
|
42
49
|
hidden: true,
|
43
50
|
value: multiple ? values : values[0]
|
44
|
-
}, options.map(function (v) {
|
51
|
+
}, _option || (_option = /*#__PURE__*/React.createElement("option", null, " ")), options.map(function (v) {
|
45
52
|
return /*#__PURE__*/React.createElement("option", {
|
46
53
|
key: v,
|
47
54
|
value: v
|
@@ -1,3 +1,4 @@
|
|
1
|
+
var _option;
|
1
2
|
import React, { forwardRef, useLayoutEffect, useRef } from 'react';
|
2
3
|
import { useForkRef } from '@salutejs/plasma-core';
|
3
4
|
import { createEvent } from '../../../../utils';
|
@@ -35,13 +36,19 @@ export var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
35
36
|
onChange(event);
|
36
37
|
}
|
37
38
|
}, [values]);
|
39
|
+
|
40
|
+
//
|
41
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
42
|
+
// если нет изначального значения
|
43
|
+
//
|
44
|
+
|
38
45
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SelectHidden, {
|
39
46
|
ref: forkRef,
|
40
47
|
multiple: multiselect,
|
41
48
|
name: name,
|
42
49
|
hidden: true,
|
43
50
|
value: multiselect ? values : values[0]
|
44
|
-
}, options.map(function (v) {
|
51
|
+
}, _option || (_option = /*#__PURE__*/React.createElement("option", null, " ")), options.map(function (v) {
|
45
52
|
return /*#__PURE__*/React.createElement("option", {
|
46
53
|
key: v,
|
47
54
|
value: v
|
@@ -3,6 +3,7 @@ import { useForkRef } from '@salutejs/plasma-core';
|
|
3
3
|
import { SelectHidden } from './SelectNative.styles.js';
|
4
4
|
import { createEvent } from '../../../../../utils/createEvent.js';
|
5
5
|
|
6
|
+
var _option;
|
6
7
|
var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
7
8
|
var name = _ref.name,
|
8
9
|
multiple = _ref.multiple,
|
@@ -36,13 +37,19 @@ var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
36
37
|
onChange(event);
|
37
38
|
}
|
38
39
|
}, [values]);
|
40
|
+
|
41
|
+
//
|
42
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
43
|
+
// если нет изначального значения
|
44
|
+
//
|
45
|
+
|
39
46
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SelectHidden, {
|
40
47
|
ref: forkRef,
|
41
48
|
multiple: multiple,
|
42
49
|
name: name,
|
43
50
|
hidden: true,
|
44
51
|
value: multiple ? values : values[0]
|
45
|
-
}, options.map(function (v) {
|
52
|
+
}, _option || (_option = /*#__PURE__*/React.createElement("option", null, " ")), options.map(function (v) {
|
46
53
|
return /*#__PURE__*/React.createElement("option", {
|
47
54
|
key: v,
|
48
55
|
value: v
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectNative.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../../utils';\nimport { ComboboxProps } from '../../Combobox.types';\nimport { ValueToItemMapType } from '../../hooks/getPathMaps';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<ComboboxProps, 'name' | 'value' | 'multiple'> & {\n onChange: (value: ChangeEvent<HTMLSelectElement> | null) => void;\n onSetValue: (value: string | string[]) => void;\n items: ValueToItemMapType;\n};\n\nexport const SelectNative = forwardRef<HTMLInputElement, Props>(\n ({ name, multiple, items, value, onChange, onSetValue }, ref) => {\n const values = (multiple ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n const options = Array.from(items.keys());\n\n useLayoutEffect(() => {\n if (selectRef.current && !multiple) {\n const valueInit = selectRef.current.value;\n\n if (valueInit) {\n onSetValue(valueInit);\n }\n }\n\n if (selectRef.current && multiple) {\n const valuesInit = Array.from(selectRef.current.selectedOptions).map((v) => v.value);\n if (valuesInit.length !== 0) {\n onSetValue(valuesInit);\n }\n }\n }, []);\n\n useLayoutEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n return (\n <>\n <SelectHidden\n ref={forkRef}\n multiple={multiple}\n name={name}\n hidden\n value={multiple ? values : values[0]}\n >\n {options.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n },\n);\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiple","items","value","onChange","onSetValue","values","selectRef","useRef","forkRef","useForkRef","options","Array","from","keys","useLayoutEffect","current","valueInit","valuesInit","selectedOptions","map","v","length","event","createEvent","React","createElement","Fragment","SelectHidden","hidden","key"],"mappings":"
|
1
|
+
{"version":3,"file":"SelectNative.js","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../../utils';\nimport { ComboboxProps } from '../../Combobox.types';\nimport { ValueToItemMapType } from '../../hooks/getPathMaps';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<ComboboxProps, 'name' | 'value' | 'multiple'> & {\n onChange: (value: ChangeEvent<HTMLSelectElement> | null) => void;\n onSetValue: (value: string | string[]) => void;\n items: ValueToItemMapType;\n};\n\nexport const SelectNative = forwardRef<HTMLInputElement, Props>(\n ({ name, multiple, items, value, onChange, onSetValue }, ref) => {\n const values = (multiple ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n const options = Array.from(items.keys());\n\n useLayoutEffect(() => {\n if (selectRef.current && !multiple) {\n const valueInit = selectRef.current.value;\n\n if (valueInit) {\n onSetValue(valueInit);\n }\n }\n\n if (selectRef.current && multiple) {\n const valuesInit = Array.from(selectRef.current.selectedOptions).map((v) => v.value);\n if (valuesInit.length !== 0) {\n onSetValue(valuesInit);\n }\n }\n }, []);\n\n useLayoutEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n //\n // Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,\n // если нет изначального значения\n //\n\n return (\n <>\n <SelectHidden\n ref={forkRef}\n multiple={multiple}\n name={name}\n hidden\n value={multiple ? values : values[0]}\n >\n <option> </option>\n {options.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n },\n);\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiple","items","value","onChange","onSetValue","values","selectRef","useRef","forkRef","useForkRef","options","Array","from","keys","useLayoutEffect","current","valueInit","valuesInit","selectedOptions","map","v","length","event","createEvent","React","createElement","Fragment","SelectHidden","hidden","_option","key"],"mappings":";;;;;;AAeO,IAAMA,YAAY,gBAAGC,UAAU,CAClC,UAAAC,IAAA,EAAyDC,GAAG,EAAK;AAAA,EAAA,IAA9DC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IAAEC,UAAU,GAAAP,IAAA,CAAVO,UAAU,CAAA;EACjD,IAAMC,MAAM,GAAIL,QAAQ,GAAGE,KAAK,GAAG,CAACA,KAAK,CAAc,CAAA;AACvD,EAAA,IAAMI,SAAS,GAAGC,MAAM,CAAoB,IAAI,CAAC,CAAA;AACjD,EAAA,IAAMC,OAAO,GAAGC,UAAU,CAACH,SAAS,EAAER,GAAU,CAAC,CAAA;EACjD,IAAMY,OAAO,GAAGC,KAAK,CAACC,IAAI,CAACX,KAAK,CAACY,IAAI,EAAE,CAAC,CAAA;AAExCC,EAAAA,eAAe,CAAC,YAAM;AAClB,IAAA,IAAIR,SAAS,CAACS,OAAO,IAAI,CAACf,QAAQ,EAAE;AAChC,MAAA,IAAMgB,SAAS,GAAGV,SAAS,CAACS,OAAO,CAACb,KAAK,CAAA;AAEzC,MAAA,IAAIc,SAAS,EAAE;QACXZ,UAAU,CAACY,SAAS,CAAC,CAAA;AACzB,OAAA;AACJ,KAAA;AAEA,IAAA,IAAIV,SAAS,CAACS,OAAO,IAAIf,QAAQ,EAAE;AAC/B,MAAA,IAAMiB,UAAU,GAAGN,KAAK,CAACC,IAAI,CAACN,SAAS,CAACS,OAAO,CAACG,eAAe,CAAC,CAACC,GAAG,CAAC,UAACC,CAAC,EAAA;QAAA,OAAKA,CAAC,CAAClB,KAAK,CAAA;OAAC,CAAA,CAAA;AACpF,MAAA,IAAIe,UAAU,CAACI,MAAM,KAAK,CAAC,EAAE;QACzBjB,UAAU,CAACa,UAAU,CAAC,CAAA;AAC1B,OAAA;AACJ,KAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAENH,EAAAA,eAAe,CAAC,YAAM;AAClB,IAAA,IAAMQ,KAAK,GAAGC,WAAW,CAACjB,SAAS,CAAC,CAAA;AACpC,IAAA,IAAIH,QAAQ,EAAE;MACVA,QAAQ,CAACmB,KAAK,CAAC,CAAA;AACnB,KAAA;AACJ,GAAC,EAAE,CAACjB,MAAM,CAAC,CAAC,CAAA;;AAEZ;AACA;AACA;AACA;;AAEA,EAAA,oBACImB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,eACIF,KAAA,CAAAC,aAAA,CAACE,YAAY,EAAA;AACT7B,IAAAA,GAAG,EAAEU,OAAQ;AACbR,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,IAAI,EAAEA,IAAK;IACX6B,MAAM,EAAA,IAAA;AACN1B,IAAAA,KAAK,EAAEF,QAAQ,GAAGK,MAAM,GAAGA,MAAM,CAAC,CAAC,CAAA;AAAE,GAAA,EAAAwB,OAAA,KAAAA,OAAA,gBAErCL,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA,IAAA,EAAQ,GAAS,CAAC,GACjBf,OAAO,CAACS,GAAG,CAAC,UAACC,CAAC,EAAA;IAAA,oBACXI,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQK,MAAAA,GAAG,EAAEV,CAAE;AAAClB,MAAAA,KAAK,EAAEkB,CAAAA;AAAE,KAAA,EACpBA,CACG,CAAC,CAAA;GACZ,CACS,CAChB,CAAC,CAAA;AAEX,CACJ;;;;"}
|
@@ -3,6 +3,7 @@ import { useForkRef } from '@salutejs/plasma-core';
|
|
3
3
|
import { SelectHidden } from './SelectNative.styles.js';
|
4
4
|
import { createEvent } from '../../../../utils/createEvent.js';
|
5
5
|
|
6
|
+
var _option;
|
6
7
|
var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
7
8
|
var name = _ref.name,
|
8
9
|
multiselect = _ref.multiselect,
|
@@ -36,13 +37,19 @@ var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
36
37
|
onChange(event);
|
37
38
|
}
|
38
39
|
}, [values]);
|
40
|
+
|
41
|
+
//
|
42
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
43
|
+
// если нет изначального значения
|
44
|
+
//
|
45
|
+
|
39
46
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SelectHidden, {
|
40
47
|
ref: forkRef,
|
41
48
|
multiple: multiselect,
|
42
49
|
name: name,
|
43
50
|
hidden: true,
|
44
51
|
value: multiselect ? values : values[0]
|
45
|
-
}, options.map(function (v) {
|
52
|
+
}, _option || (_option = /*#__PURE__*/React.createElement("option", null, " ")), options.map(function (v) {
|
46
53
|
return /*#__PURE__*/React.createElement("option", {
|
47
54
|
key: v,
|
48
55
|
value: v
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectNative.js","sources":["../../../../../src/components/Select/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../utils';\nimport { SelectProps } from '../../Select.types';\nimport { ValueToItemMapType } from '../../hooks/usePathMaps';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<SelectProps, 'name' | 'multiselect'> & {\n onChange: (newValue: ChangeEvent<HTMLSelectElement> | null) => void;\n onSetValue: (value: string | string[]) => void;\n items: ValueToItemMapType;\n value: string | number | Array<string | number>;\n};\n\nexport const SelectNative = forwardRef<HTMLButtonElement, Props>(\n ({ name, multiselect, items, value, onChange, onSetValue }, ref) => {\n const values = (multiselect ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n const options = Array.from(items.keys());\n\n useLayoutEffect(() => {\n if (selectRef.current && !multiselect) {\n const valueInit = selectRef.current.value;\n\n if (valueInit) {\n onSetValue(valueInit);\n }\n }\n\n if (selectRef.current && multiselect) {\n const valuesInit = Array.from(selectRef.current.selectedOptions).map((v) => v.value);\n if (valuesInit.length !== 0) {\n onSetValue(valuesInit);\n }\n }\n }, []);\n\n useLayoutEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n return (\n <>\n <SelectHidden\n ref={forkRef}\n multiple={multiselect}\n name={name}\n hidden\n value={multiselect ? values : values[0]}\n >\n {options.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n },\n);\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiselect","items","value","onChange","onSetValue","values","selectRef","useRef","forkRef","useForkRef","options","Array","from","keys","useLayoutEffect","current","valueInit","valuesInit","selectedOptions","map","v","length","event","createEvent","React","createElement","Fragment","SelectHidden","multiple","hidden","key"],"mappings":"
|
1
|
+
{"version":3,"file":"SelectNative.js","sources":["../../../../../src/components/Select/ui/SelectNative/SelectNative.tsx"],"sourcesContent":["import React, { ChangeEvent, forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useForkRef } from '@salutejs/plasma-core';\n\nimport { createEvent } from '../../../../utils';\nimport { SelectProps } from '../../Select.types';\nimport { ValueToItemMapType } from '../../hooks/usePathMaps';\n\nimport { SelectHidden } from './SelectNative.styles';\n\ntype Props = Pick<SelectProps, 'name' | 'multiselect'> & {\n onChange: (newValue: ChangeEvent<HTMLSelectElement> | null) => void;\n onSetValue: (value: string | string[]) => void;\n items: ValueToItemMapType;\n value: string | number | Array<string | number>;\n};\n\nexport const SelectNative = forwardRef<HTMLButtonElement, Props>(\n ({ name, multiselect, items, value, onChange, onSetValue }, ref) => {\n const values = (multiselect ? value : [value]) as string[];\n const selectRef = useRef<HTMLSelectElement>(null);\n const forkRef = useForkRef(selectRef, ref as any);\n const options = Array.from(items.keys());\n\n useLayoutEffect(() => {\n if (selectRef.current && !multiselect) {\n const valueInit = selectRef.current.value;\n\n if (valueInit) {\n onSetValue(valueInit);\n }\n }\n\n if (selectRef.current && multiselect) {\n const valuesInit = Array.from(selectRef.current.selectedOptions).map((v) => v.value);\n if (valuesInit.length !== 0) {\n onSetValue(valuesInit);\n }\n }\n }, []);\n\n useLayoutEffect(() => {\n const event = createEvent(selectRef);\n if (onChange) {\n onChange(event);\n }\n }, [values]);\n\n //\n // Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,\n // если нет изначального значения\n //\n\n return (\n <>\n <SelectHidden\n ref={forkRef}\n multiple={multiselect}\n name={name}\n hidden\n value={multiselect ? values : values[0]}\n >\n <option> </option>\n {options.map((v) => (\n <option key={v} value={v}>\n {v}\n </option>\n ))}\n </SelectHidden>\n </>\n );\n },\n);\n"],"names":["SelectNative","forwardRef","_ref","ref","name","multiselect","items","value","onChange","onSetValue","values","selectRef","useRef","forkRef","useForkRef","options","Array","from","keys","useLayoutEffect","current","valueInit","valuesInit","selectedOptions","map","v","length","event","createEvent","React","createElement","Fragment","SelectHidden","multiple","hidden","_option","key"],"mappings":";;;;;;AAgBO,IAAMA,YAAY,gBAAGC,UAAU,CAClC,UAAAC,IAAA,EAA4DC,GAAG,EAAK;AAAA,EAAA,IAAjEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,WAAW,GAAAH,IAAA,CAAXG,WAAW;IAAEC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEC,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IAAEC,UAAU,GAAAP,IAAA,CAAVO,UAAU,CAAA;EACpD,IAAMC,MAAM,GAAIL,WAAW,GAAGE,KAAK,GAAG,CAACA,KAAK,CAAc,CAAA;AAC1D,EAAA,IAAMI,SAAS,GAAGC,MAAM,CAAoB,IAAI,CAAC,CAAA;AACjD,EAAA,IAAMC,OAAO,GAAGC,UAAU,CAACH,SAAS,EAAER,GAAU,CAAC,CAAA;EACjD,IAAMY,OAAO,GAAGC,KAAK,CAACC,IAAI,CAACX,KAAK,CAACY,IAAI,EAAE,CAAC,CAAA;AAExCC,EAAAA,eAAe,CAAC,YAAM;AAClB,IAAA,IAAIR,SAAS,CAACS,OAAO,IAAI,CAACf,WAAW,EAAE;AACnC,MAAA,IAAMgB,SAAS,GAAGV,SAAS,CAACS,OAAO,CAACb,KAAK,CAAA;AAEzC,MAAA,IAAIc,SAAS,EAAE;QACXZ,UAAU,CAACY,SAAS,CAAC,CAAA;AACzB,OAAA;AACJ,KAAA;AAEA,IAAA,IAAIV,SAAS,CAACS,OAAO,IAAIf,WAAW,EAAE;AAClC,MAAA,IAAMiB,UAAU,GAAGN,KAAK,CAACC,IAAI,CAACN,SAAS,CAACS,OAAO,CAACG,eAAe,CAAC,CAACC,GAAG,CAAC,UAACC,CAAC,EAAA;QAAA,OAAKA,CAAC,CAAClB,KAAK,CAAA;OAAC,CAAA,CAAA;AACpF,MAAA,IAAIe,UAAU,CAACI,MAAM,KAAK,CAAC,EAAE;QACzBjB,UAAU,CAACa,UAAU,CAAC,CAAA;AAC1B,OAAA;AACJ,KAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAENH,EAAAA,eAAe,CAAC,YAAM;AAClB,IAAA,IAAMQ,KAAK,GAAGC,WAAW,CAACjB,SAAS,CAAC,CAAA;AACpC,IAAA,IAAIH,QAAQ,EAAE;MACVA,QAAQ,CAACmB,KAAK,CAAC,CAAA;AACnB,KAAA;AACJ,GAAC,EAAE,CAACjB,MAAM,CAAC,CAAC,CAAA;;AAEZ;AACA;AACA;AACA;;AAEA,EAAA,oBACImB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAAA,IAAA,eACIF,KAAA,CAAAC,aAAA,CAACE,YAAY,EAAA;AACT7B,IAAAA,GAAG,EAAEU,OAAQ;AACboB,IAAAA,QAAQ,EAAE5B,WAAY;AACtBD,IAAAA,IAAI,EAAEA,IAAK;IACX8B,MAAM,EAAA,IAAA;AACN3B,IAAAA,KAAK,EAAEF,WAAW,GAAGK,MAAM,GAAGA,MAAM,CAAC,CAAC,CAAA;AAAE,GAAA,EAAAyB,OAAA,KAAAA,OAAA,gBAExCN,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA,IAAA,EAAQ,GAAS,CAAC,GACjBf,OAAO,CAACS,GAAG,CAAC,UAACC,CAAC,EAAA;IAAA,oBACXI,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQM,MAAAA,GAAG,EAAEX,CAAE;AAAClB,MAAAA,KAAK,EAAEkB,CAAAA;AAAE,KAAA,EACpBA,CACG,CAAC,CAAA;GACZ,CACS,CAChB,CAAC,CAAA;AAEX,CACJ;;;;"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.267.
|
3
|
+
"version": "0.267.1-canary.1777.13369684944.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -132,5 +132,5 @@
|
|
132
132
|
"sideEffects": [
|
133
133
|
"*.css"
|
134
134
|
],
|
135
|
-
"gitHead": "
|
135
|
+
"gitHead": "133493d4c2324607fe06930ed7b7e37e86f2c51b"
|
136
136
|
}
|
package/styled-components/cjs/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js
CHANGED
@@ -9,6 +9,7 @@ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react")
|
|
9
9
|
var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
|
10
10
|
var _utils = /*#__PURE__*/require("../../../../../utils");
|
11
11
|
var _SelectNative = /*#__PURE__*/require("./SelectNative.styles");
|
12
|
+
var _option;
|
12
13
|
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); }
|
13
14
|
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; }
|
14
15
|
var SelectNative = exports.SelectNative = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
@@ -44,13 +45,19 @@ var SelectNative = exports.SelectNative = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
44
45
|
onChange(event);
|
45
46
|
}
|
46
47
|
}, [values]);
|
48
|
+
|
49
|
+
//
|
50
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
51
|
+
// если нет изначального значения
|
52
|
+
//
|
53
|
+
|
47
54
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_SelectNative.SelectHidden, {
|
48
55
|
ref: forkRef,
|
49
56
|
multiple: multiple,
|
50
57
|
name: name,
|
51
58
|
hidden: true,
|
52
59
|
value: multiple ? values : values[0]
|
53
|
-
}, options.map(function (v) {
|
60
|
+
}, _option || (_option = /*#__PURE__*/_react["default"].createElement("option", null, " ")), options.map(function (v) {
|
54
61
|
return /*#__PURE__*/_react["default"].createElement("option", {
|
55
62
|
key: v,
|
56
63
|
value: v
|
@@ -9,6 +9,7 @@ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react")
|
|
9
9
|
var _plasmaCore = /*#__PURE__*/require("@salutejs/plasma-core");
|
10
10
|
var _utils = /*#__PURE__*/require("../../../../utils");
|
11
11
|
var _SelectNative = /*#__PURE__*/require("./SelectNative.styles");
|
12
|
+
var _option;
|
12
13
|
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); }
|
13
14
|
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; }
|
14
15
|
var SelectNative = exports.SelectNative = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
@@ -44,13 +45,19 @@ var SelectNative = exports.SelectNative = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
44
45
|
onChange(event);
|
45
46
|
}
|
46
47
|
}, [values]);
|
48
|
+
|
49
|
+
//
|
50
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
51
|
+
// если нет изначального значения
|
52
|
+
//
|
53
|
+
|
47
54
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_SelectNative.SelectHidden, {
|
48
55
|
ref: forkRef,
|
49
56
|
multiple: multiselect,
|
50
57
|
name: name,
|
51
58
|
hidden: true,
|
52
59
|
value: multiselect ? values : values[0]
|
53
|
-
}, options.map(function (v) {
|
60
|
+
}, _option || (_option = /*#__PURE__*/_react["default"].createElement("option", null, " ")), options.map(function (v) {
|
54
61
|
return /*#__PURE__*/_react["default"].createElement("option", {
|
55
62
|
key: v,
|
56
63
|
value: v
|
package/styled-components/es/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
var _option;
|
1
2
|
import React, { forwardRef, useLayoutEffect, useRef } from 'react';
|
2
3
|
import { useForkRef } from '@salutejs/plasma-core';
|
3
4
|
import { createEvent } from '../../../../../utils';
|
@@ -35,13 +36,19 @@ export var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
35
36
|
onChange(event);
|
36
37
|
}
|
37
38
|
}, [values]);
|
39
|
+
|
40
|
+
//
|
41
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
42
|
+
// если нет изначального значения
|
43
|
+
//
|
44
|
+
|
38
45
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SelectHidden, {
|
39
46
|
ref: forkRef,
|
40
47
|
multiple: multiple,
|
41
48
|
name: name,
|
42
49
|
hidden: true,
|
43
50
|
value: multiple ? values : values[0]
|
44
|
-
}, options.map(function (v) {
|
51
|
+
}, _option || (_option = /*#__PURE__*/React.createElement("option", null, " ")), options.map(function (v) {
|
45
52
|
return /*#__PURE__*/React.createElement("option", {
|
46
53
|
key: v,
|
47
54
|
value: v
|
@@ -1,3 +1,4 @@
|
|
1
|
+
var _option;
|
1
2
|
import React, { forwardRef, useLayoutEffect, useRef } from 'react';
|
2
3
|
import { useForkRef } from '@salutejs/plasma-core';
|
3
4
|
import { createEvent } from '../../../../utils';
|
@@ -35,13 +36,19 @@ export var SelectNative = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
35
36
|
onChange(event);
|
36
37
|
}
|
37
38
|
}, [values]);
|
39
|
+
|
40
|
+
//
|
41
|
+
// Пустой option нужен для нативного поведения. Он автоматически выбирает первый пункт,
|
42
|
+
// если нет изначального значения
|
43
|
+
//
|
44
|
+
|
38
45
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SelectHidden, {
|
39
46
|
ref: forkRef,
|
40
47
|
multiple: multiselect,
|
41
48
|
name: name,
|
42
49
|
hidden: true,
|
43
50
|
value: multiselect ? values : values[0]
|
44
|
-
}, options.map(function (v) {
|
51
|
+
}, _option || (_option = /*#__PURE__*/React.createElement("option", null, " ")), options.map(function (v) {
|
45
52
|
return /*#__PURE__*/React.createElement("option", {
|
46
53
|
key: v,
|
47
54
|
value: v
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectNative.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAuC,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAU7D,eAAO,MAAM,YAAY;sBALH,YAAY,iBAAiB,CAAC,GAAG,IAAI,KAAK,IAAI;wBAC5C,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI;;
|
1
|
+
{"version":3,"file":"SelectNative.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Combobox/ComboboxNew/ui/SelectNative/SelectNative.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAuC,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAU7D,eAAO,MAAM,YAAY;sBALH,YAAY,iBAAiB,CAAC,GAAG,IAAI,KAAK,IAAI;wBAC5C,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI;;0CA2DjD,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectNative.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/ui/SelectNative/SelectNative.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAuC,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAW7D,eAAO,MAAM,YAAY;yBANA,YAAY,iBAAiB,CAAC,GAAG,IAAI,KAAK,IAAI;wBAC/C,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI;;WAEvC,MAAM,GAAG,MAAM,GAAG,MAAM,MAAM,GAAG,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"SelectNative.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/ui/SelectNative/SelectNative.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAuC,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAW7D,eAAO,MAAM,YAAY;yBANA,YAAY,iBAAiB,CAAC,GAAG,IAAI,KAAK,IAAI;wBAC/C,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI;;WAEvC,MAAM,GAAG,MAAM,GAAG,MAAM,MAAM,GAAG,MAAM,CAAC;2CA0DlD,CAAC"}
|