@salutejs/plasma-new-hope 0.335.0-canary.2198.17378237458.0 → 0.335.0-canary.2199.17384366399.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Autocomplete/Autocomplete.js +4 -1
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/FloatingPopover.js +5 -4
- package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -1
- package/emotion/cjs/components/Autocomplete/FloatingPopover.js +31 -4
- package/emotion/es/components/Autocomplete/Autocomplete.js +3 -1
- package/emotion/es/components/Autocomplete/FloatingPopover.js +31 -4
- package/es/components/Autocomplete/Autocomplete.js +4 -1
- package/es/components/Autocomplete/Autocomplete.js.map +1 -1
- package/es/components/Autocomplete/FloatingPopover.js +6 -5
- package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/package.json +4 -4
- package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -1
- package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +31 -4
- package/styled-components/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/styled-components/es/components/Autocomplete/Autocomplete.js +3 -1
- package/styled-components/es/components/Autocomplete/FloatingPopover.js +31 -4
- package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
- package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -0
- package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts +8 -0
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
@@ -19,7 +19,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
|
20
20
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
21
21
|
|
22
|
-
var _excluded = ["value", "defaultValue", "onChange", "suggestions", "view", "size", "labelPlacement", "keepPlaceholder", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "zIndex", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "renderItem", "onSearch", "hintText", "hintView", "hintSize", "beforeList", "afterList", "virtual", "_offset"];
|
22
|
+
var _excluded = ["value", "defaultValue", "onChange", "suggestions", "view", "size", "labelPlacement", "keepPlaceholder", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "zIndex", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "renderItem", "onSearch", "hintText", "hintView", "hintSize", "beforeList", "afterList", "virtual", "flip", "_offset"];
|
23
23
|
|
24
24
|
/**
|
25
25
|
* Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.
|
@@ -66,6 +66,8 @@ var autocompleteRoot = function autocompleteRoot(Root) {
|
|
66
66
|
afterList = _ref.afterList,
|
67
67
|
_ref$virtual = _ref.virtual,
|
68
68
|
virtual = _ref$virtual === void 0 ? false : _ref$virtual,
|
69
|
+
_ref$flip = _ref.flip,
|
70
|
+
flip = _ref$flip === void 0 ? false : _ref$flip,
|
69
71
|
_offset = _ref._offset,
|
70
72
|
rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
|
71
73
|
var _useReducer = React.useReducer(focusedReducer.focusedReducer, null),
|
@@ -148,6 +150,7 @@ var autocompleteRoot = function autocompleteRoot(Root) {
|
|
148
150
|
zIndex: zIndex,
|
149
151
|
listWidth: listWidth,
|
150
152
|
offset: _offset,
|
153
|
+
flip: flip,
|
151
154
|
target: function target(referenceRef) {
|
152
155
|
return /*#__PURE__*/React__default.default.createElement(TextField_styles.StyledTextField, _rollupPluginBabelHelpers.extends({
|
153
156
|
ref: ref,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport { useDidMountEffect, useOutsideClick } from 'src/hooks';\nimport { RootProps } from 'src/engines';\n\nimport { FloatingPopover } from './FloatingPopover';\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField, VirtualList } from './ui';\nimport { Ul, InfiniteLoaderWrapper, base, StyledLeftHelper, ListWrapper } from './Autocomplete.styles';\nimport type { AutocompleteProps, SuggestionItemType } from './Autocomplete.types';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.\n */\nexport const autocompleteRoot = (Root: RootProps<HTMLInputElement, Omit<AutocompleteProps, 'hintText'>>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n defaultValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight = '25rem',\n listWidth,\n portal,\n zIndex,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n renderItem,\n onSearch,\n hintText,\n hintView = 'default',\n hintSize = 'm',\n beforeList,\n afterList,\n virtual = false,\n // @ts-ignore\n _offset,\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string>(defaultValue || '');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue ?? innerValue;\n\n const helperTextId = safeUseId();\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n setIsOpen(false);\n }, floatingPopoverRef);\n\n const handleFocus = () => {\n if (value.toString().length >= threshold) {\n setIsOpen(true);\n }\n };\n\n const handleItemClick = (e: SuggestionItemType) => {\n setInnerValue(e.label);\n\n if (onSuggestionSelect) {\n onSuggestionSelect(e);\n }\n\n setIsOpen(false);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n\n setInnerValue(currentValue);\n\n if (onChange) {\n onChange(e);\n }\n\n if (currentValue.toString().length >= threshold) {\n setIsOpen(true);\n } else {\n setIsOpen(false);\n }\n };\n\n const defaultFilterCallback = ({ label }: { label: string }) => {\n return label.toLowerCase().includes(value.toString().toLowerCase());\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const finalResults = suggestions?.filter(filter || defaultFilterCallback) || [];\n\n const { onKeyDown } = useKeyNavigation({\n isOpen,\n setIsOpen,\n focused,\n dispatchFocused,\n finalResults,\n handleItemClick,\n });\n\n useDidMountEffect(() => {\n dispatchFocused({ type: 'reset' });\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n hintView={hintView}\n hintSize={hintSize}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isOpen}\n portal={portal}\n zIndex={zIndex}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <StyledTextField\n ref={ref}\n inputWrapperRef={referenceRef}\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onFocus={handleFocus}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={listId}\n aria-expanded={isOpen}\n aria-activedescendant={`${listId}/${focused}`}\n aria-describedby={helperTextId}\n hintText={String(hintText || '')}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n leftHelper={\n leftHelper && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {leftHelper}\n </StyledLeftHelper>\n )\n }\n {...rest}\n />\n )}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <ListWrapper>\n <Ul\n ref={targetRef}\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={virtual ? undefined : onScroll}\n listMaxHeight={listMaxHeight}\n virtual={virtual}\n >\n {virtual ? (\n <VirtualList\n items={finalResults}\n onClick={handleItemClick}\n listId={listId}\n listMaxHeight={listMaxHeight}\n onScroll={onScroll}\n renderItem={renderItem}\n />\n ) : (\n <>\n {beforeList}\n\n {finalResults.map((suggestion, index) => (\n <SuggestionItem\n key={index}\n item={suggestion}\n onClick={handleItemClick}\n id={`${listId}/${index}`}\n focused={focused === index}\n renderItem={renderItem}\n />\n ))}\n\n {afterList}\n </>\n )}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </ListWrapper>\n </Root>\n ))}\n </FloatingPopover>\n </Root>\n );\n },\n );\n\nexport const autocompleteConfig = {\n name: 'Autocomplete',\n tag: 'div',\n layout: autocompleteRoot,\n base,\n defaults: {\n view: 'default',\n size: 'l',\n labelPlacement: 'outer',\n },\n variations: {\n view: {\n css: '',\n },\n },\n};\n"],"names":["autocompleteRoot","Root","forwardRef","_ref","ref","_StyledLeftHelper","outerValue","value","defaultValue","onChange","suggestions","view","size","labelPlacement","keepPlaceholder","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","_ref$listMaxHeight","listMaxHeight","listWidth","portal","zIndex","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","renderItem","onSearch","hintText","_ref$hintView","hintView","_ref$hintSize","hintSize","beforeList","afterList","_ref$virtual","virtual","_offset","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","floatingPopoverRef","useRef","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","helperTextStopPropagation","event","stopPropagation","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","FloatingPopover","opened","offset","referenceRef","StyledTextField","_extends","inputWrapperRef","undefined","onFocus","role","concat","String","StyledLeftHelper","onClick","Boolean","ListWrapper","Ul","id","VirtualList","items","Fragment","map","suggestion","index","SuggestionItem","key","item","InfiniteLoaderWrapper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport { useDidMountEffect, useOutsideClick } from 'src/hooks';\nimport { RootProps } from 'src/engines';\n\nimport { FloatingPopover } from './FloatingPopover';\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField, VirtualList } from './ui';\nimport { Ul, InfiniteLoaderWrapper, base, StyledLeftHelper, ListWrapper } from './Autocomplete.styles';\nimport type { AutocompleteProps, SuggestionItemType } from './Autocomplete.types';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.\n */\nexport const autocompleteRoot = (Root: RootProps<HTMLInputElement, Omit<AutocompleteProps, 'hintText'>>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n defaultValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight = '25rem',\n listWidth,\n portal,\n zIndex,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n renderItem,\n onSearch,\n hintText,\n hintView = 'default',\n hintSize = 'm',\n beforeList,\n afterList,\n virtual = false,\n flip = false,\n // @ts-ignore\n _offset,\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string>(defaultValue || '');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue ?? innerValue;\n\n const helperTextId = safeUseId();\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n setIsOpen(false);\n }, floatingPopoverRef);\n\n const handleFocus = () => {\n if (value.toString().length >= threshold) {\n setIsOpen(true);\n }\n };\n\n const handleItemClick = (e: SuggestionItemType) => {\n setInnerValue(e.label);\n\n if (onSuggestionSelect) {\n onSuggestionSelect(e);\n }\n\n setIsOpen(false);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n\n setInnerValue(currentValue);\n\n if (onChange) {\n onChange(e);\n }\n\n if (currentValue.toString().length >= threshold) {\n setIsOpen(true);\n } else {\n setIsOpen(false);\n }\n };\n\n const defaultFilterCallback = ({ label }: { label: string }) => {\n return label.toLowerCase().includes(value.toString().toLowerCase());\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const finalResults = suggestions?.filter(filter || defaultFilterCallback) || [];\n\n const { onKeyDown } = useKeyNavigation({\n isOpen,\n setIsOpen,\n focused,\n dispatchFocused,\n finalResults,\n handleItemClick,\n });\n\n useDidMountEffect(() => {\n dispatchFocused({ type: 'reset' });\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n hintView={hintView}\n hintSize={hintSize}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isOpen}\n portal={portal}\n zIndex={zIndex}\n listWidth={listWidth}\n offset={_offset}\n flip={flip}\n target={(referenceRef) => (\n <StyledTextField\n ref={ref}\n inputWrapperRef={referenceRef}\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onFocus={handleFocus}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={listId}\n aria-expanded={isOpen}\n aria-activedescendant={`${listId}/${focused}`}\n aria-describedby={helperTextId}\n hintText={String(hintText || '')}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n leftHelper={\n leftHelper && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {leftHelper}\n </StyledLeftHelper>\n )\n }\n {...rest}\n />\n )}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <ListWrapper>\n <Ul\n ref={targetRef}\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={virtual ? undefined : onScroll}\n listMaxHeight={listMaxHeight}\n virtual={virtual}\n >\n {virtual ? (\n <VirtualList\n items={finalResults}\n onClick={handleItemClick}\n listId={listId}\n listMaxHeight={listMaxHeight}\n onScroll={onScroll}\n renderItem={renderItem}\n />\n ) : (\n <>\n {beforeList}\n\n {finalResults.map((suggestion, index) => (\n <SuggestionItem\n key={index}\n item={suggestion}\n onClick={handleItemClick}\n id={`${listId}/${index}`}\n focused={focused === index}\n renderItem={renderItem}\n />\n ))}\n\n {afterList}\n </>\n )}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </ListWrapper>\n </Root>\n ))}\n </FloatingPopover>\n </Root>\n );\n },\n );\n\nexport const autocompleteConfig = {\n name: 'Autocomplete',\n tag: 'div',\n layout: autocompleteRoot,\n base,\n defaults: {\n view: 'default',\n size: 'l',\n labelPlacement: 'outer',\n },\n variations: {\n view: {\n css: '',\n },\n },\n};\n"],"names":["autocompleteRoot","Root","forwardRef","_ref","ref","_StyledLeftHelper","outerValue","value","defaultValue","onChange","suggestions","view","size","labelPlacement","keepPlaceholder","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","_ref$listMaxHeight","listMaxHeight","listWidth","portal","zIndex","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","renderItem","onSearch","hintText","_ref$hintView","hintView","_ref$hintSize","hintSize","beforeList","afterList","_ref$virtual","virtual","_ref$flip","flip","_offset","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","floatingPopoverRef","useRef","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","helperTextStopPropagation","event","stopPropagation","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","FloatingPopover","opened","offset","referenceRef","StyledTextField","_extends","inputWrapperRef","undefined","onFocus","role","concat","String","StyledLeftHelper","onClick","Boolean","ListWrapper","Ul","id","VirtualList","items","Fragment","map","suggestion","index","SuggestionItem","key","item","InfiniteLoaderWrapper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAYA;AACA;AACA;IACaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,IAAsE,EAAA;AAAA,EAAA,oBACnGC,gBAAU,CACN,UAAAC,IAAA,EAyCIC,GAAG,EACF;AAAA,IAAA,IAAAC,iBAAA,CAAA;AAAA,IAAA,IAxCUC,UAAU,GAAAH,IAAA,CAAjBI,KAAK;MACLC,YAAY,GAAAL,IAAA,CAAZK,YAAY;MACZC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;MACRC,WAAW,GAAAP,IAAA,CAAXO,WAAW;MACXC,IAAI,GAAAR,IAAA,CAAJQ,IAAI;MACJC,IAAI,GAAAT,IAAA,CAAJS,IAAI;MACJC,cAAc,GAAAV,IAAA,CAAdU,cAAc;MACdC,eAAe,GAAAX,IAAA,CAAfW,eAAe;MACfC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;MACRC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;MACRC,KAAK,GAAAd,IAAA,CAALc,KAAK;MACLC,UAAU,GAAAf,IAAA,CAAVe,UAAU;MACVC,WAAW,GAAAhB,IAAA,CAAXgB,WAAW;MACXC,YAAY,GAAAjB,IAAA,CAAZiB,YAAY;MACZC,UAAU,GAAAlB,IAAA,CAAVkB,UAAU;MACVC,SAAS,GAAAnB,IAAA,CAATmB,SAAS;MACTC,QAAQ,GAAApB,IAAA,CAARoB,QAAQ;MAAAC,kBAAA,GAAArB,IAAA,CACRsB,aAAa;AAAbA,MAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,kBAAA;MACvBE,SAAS,GAAAvB,IAAA,CAATuB,SAAS;MACTC,MAAM,GAAAxB,IAAA,CAANwB,MAAM;MACNC,MAAM,GAAAzB,IAAA,CAANyB,MAAM;MACNC,MAAM,GAAA1B,IAAA,CAAN0B,MAAM;MACNC,kBAAkB,GAAA3B,IAAA,CAAlB2B,kBAAkB;MAAAC,cAAA,GAAA5B,IAAA,CAClB6B,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;MACbE,UAAU,GAAA9B,IAAA,CAAV8B,UAAU;MACVC,aAAa,GAAA/B,IAAA,CAAb+B,aAAa;MACbC,UAAU,GAAAhC,IAAA,CAAVgC,UAAU;MACVC,QAAQ,GAAAjC,IAAA,CAARiC,QAAQ;MACRC,QAAQ,GAAAlC,IAAA,CAARkC,QAAQ;MAAAC,aAAA,GAAAnC,IAAA,CACRoC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,aAAA;MAAAE,aAAA,GAAArC,IAAA,CACpBsC,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,GAAG,GAAAA,aAAA;MACdE,UAAU,GAAAvC,IAAA,CAAVuC,UAAU;MACVC,SAAS,GAAAxC,IAAA,CAATwC,SAAS;MAAAC,YAAA,GAAAzC,IAAA,CACT0C,OAAO;AAAPA,MAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;MAAAE,SAAA,GAAA3C,IAAA,CACf4C,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,SAAA;MAEZE,OAAO,GAAA7C,IAAA,CAAP6C,OAAO;AACJC,MAAAA,IAAI,GAAAC,iDAAA,CAAA/C,IAAA,EAAAgD,SAAA,CAAA,CAAA;AAIX,IAAA,IAAAC,WAAA,GAAmCC,gBAAU,CAACC,6BAAc,EAAE,IAAI,CAAC;MAAAC,YAAA,GAAAC,uCAAA,CAAAJ,WAAA,EAAA,CAAA,CAAA;AAA5DK,MAAAA,OAAO,GAAAF,YAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,YAAA,CAAA,CAAA,CAAA,CAAA;AAC/B,IAAA,IAAAI,SAAA,GAAoCC,cAAQ,CAASpD,YAAY,IAAI,EAAE,CAAC;MAAAqD,UAAA,GAAAL,uCAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAAjEG,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,IAAA,IAAAG,UAAA,GAA4BJ,cAAQ,CAAC,KAAK,CAAC;MAAAK,UAAA,GAAAT,uCAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAApCE,MAAAA,MAAM,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAExB,IAAA,IAAMG,MAAM,GAAGC,eAAS,EAAE,CAAA;IAC1B,IAAM9D,KAAK,GAAGD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAIwD,UAAU,CAAA;AAEtC,IAAA,IAAMQ,YAAY,GAAGD,eAAS,EAAE,CAAA;AAChC,IAAA,IAAME,kBAAkB,GAAGC,YAAM,CAAiB,IAAI,CAAC,CAAA;AAEvD,IAAA,IAAMC,SAAS,GAAGC,+BAAe,CAAmB,YAAM;MACtDP,SAAS,CAAC,KAAK,CAAC,CAAA;KACnB,EAAEI,kBAAkB,CAAC,CAAA;AAEtB,IAAA,IAAMI,WAAW,GAAG,SAAdA,WAAWA,GAAS;MACtB,IAAIpE,KAAK,CAACqE,QAAQ,EAAE,CAACC,MAAM,IAAI7C,SAAS,EAAE;QACtCmC,SAAS,CAAC,IAAI,CAAC,CAAA;AACnB,OAAA;KACH,CAAA;AAED,IAAA,IAAMW,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAqB,EAAK;AAC/ChB,MAAAA,aAAa,CAACgB,CAAC,CAAC9D,KAAK,CAAC,CAAA;AAEtB,MAAA,IAAIa,kBAAkB,EAAE;QACpBA,kBAAkB,CAACiD,CAAC,CAAC,CAAA;AACzB,OAAA;MAEAZ,SAAS,CAAC,KAAK,CAAC,CAAA;KACnB,CAAA;AAED,IAAA,IAAMa,YAAY,GAAG,SAAfA,YAAYA,CAAID,CAAsC,EAAK;AAC7D,MAAA,IAAME,YAAY,GAAGF,CAAC,CAACG,MAAM,CAAC3E,KAAK,CAAA;MAEnCwD,aAAa,CAACkB,YAAY,CAAC,CAAA;AAE3B,MAAA,IAAIxE,QAAQ,EAAE;QACVA,QAAQ,CAACsE,CAAC,CAAC,CAAA;AACf,OAAA;MAEA,IAAIE,YAAY,CAACL,QAAQ,EAAE,CAACC,MAAM,IAAI7C,SAAS,EAAE;QAC7CmC,SAAS,CAAC,IAAI,CAAC,CAAA;AACnB,OAAC,MAAM;QACHA,SAAS,CAAC,KAAK,CAAC,CAAA;AACpB,OAAA;KACH,CAAA;AAED,IAAA,IAAMgB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAAqC;AAAA,MAAA,IAA/BnE,KAAK,GAAAmE,KAAA,CAALnE,KAAK,CAAA;AAClC,MAAA,OAAOA,KAAK,CAACoE,WAAW,EAAE,CAACC,QAAQ,CAAC/E,KAAK,CAACqE,QAAQ,EAAE,CAACS,WAAW,EAAE,CAAC,CAAA;KACtE,CAAA;AAED,IAAA,IAAME,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,KAAuC,EAAK;MAC3EA,KAAK,CAACC,eAAe,EAAE,CAAA;KAC1B,CAAA;AAED,IAAA,IAAMC,YAAY,GAAG,CAAAhF,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEmB,MAAM,CAACA,MAAM,IAAIsD,qBAAqB,CAAC,KAAI,EAAE,CAAA;IAE/E,IAAAQ,iBAAA,GAAsBC,sCAAgB,CAAC;AACnC1B,QAAAA,MAAM,EAANA,MAAM;AACNC,QAAAA,SAAS,EAATA,SAAS;AACTV,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,eAAe,EAAfA,eAAe;AACfgC,QAAAA,YAAY,EAAZA,YAAY;AACZZ,QAAAA,eAAe,EAAfA,eAAAA;AACJ,OAAC,CAAC;MAPMe,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;AASjBC,IAAAA,mCAAiB,CAAC,YAAM;AACpBpC,MAAAA,eAAe,CAAC;AAAEqC,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AACtC,KAAC,EAAE,CAACxF,KAAK,CAAC,CAAC,CAAA;AAEX,IAAA,oBACIyF,sBAAA,CAAAC,aAAA,CAAChG,IAAI,EAAA;AACDU,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,cAAc,EAAEA,cAAe;AAC/BE,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,QAAQ,EAAEA,QAAS;AACnBuB,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,eAEnBuD,sBAAA,CAAAC,aAAA,CAACC,+BAAe,EAAA;AACZ9F,MAAAA,GAAG,EAAEmE,kBAAmB;AACxB4B,MAAAA,MAAM,EAAEjC,MAAO;AACfvC,MAAAA,MAAM,EAAEA,MAAO;AACfC,MAAAA,MAAM,EAAEA,MAAO;AACfF,MAAAA,SAAS,EAAEA,SAAU;AACrB0E,MAAAA,MAAM,EAAEpD,OAAQ;AAChBD,MAAAA,IAAI,EAAEA,IAAK;MACXmC,MAAM,EAAE,SAAAA,MAAAA,CAACmB,YAAY,EAAA;AAAA,QAAA,oBACjBL,sBAAA,CAAAC,aAAA,CAACK,gCAAe,EAAAC,iCAAA,CAAA;AACZnG,UAAAA,GAAG,EAAEA,GAAI;AACToG,UAAAA,eAAe,EAAEH,YAAa;AAC9B9F,UAAAA,KAAK,EAAEA,KAAM;AACbE,UAAAA,QAAQ,EAAEuE,YAAa;AACvB5C,UAAAA,QAAQ,EAAEqB,OAAO,KAAK,IAAI,GAAGrB,QAAQ,GAAGqE,SAAU;AAClD7F,UAAAA,IAAI,EAAEA,IAAK;AACXD,UAAAA,IAAI,EAAEA,IAAK;AACXI,UAAAA,QAAQ,EAAEA,QAAS;AACnBC,UAAAA,QAAQ,EAAEA,QAAS;AACnBC,UAAAA,KAAK,EAAEA,KAAM;AACbE,UAAAA,WAAW,EAAEA,WAAY;AACzBC,UAAAA,YAAY,EAAEA,YAAa;AAC3BC,UAAAA,UAAU,EAAEA,UAAW;AACvBC,UAAAA,SAAS,EAAEA,SAAU;AACrBoF,UAAAA,OAAO,EAAE/B,WAAY;AACrBkB,UAAAA,SAAS,EAAEA,SAAU;AACrBc,UAAAA,IAAI,EAAC,UAAU;AACf,UAAA,mBAAA,EAAkB,MAAM;AACxB,UAAA,eAAA,EAAevC,MAAO;AACtB,UAAA,eAAA,EAAeF,MAAO;AACtB,UAAA,uBAAA,EAAA,EAAA,CAAA0C,MAAA,CAA0BxC,MAAM,OAAAwC,MAAA,CAAInD,OAAO,CAAG;AAC9C,UAAA,kBAAA,EAAkBa,YAAa;AAC/BjC,UAAAA,QAAQ,EAAEwE,MAAM,CAACxE,QAAQ,IAAI,EAAE,CAAE;AACjCxB,UAAAA,cAAc,EAAEA,cAAe;AAC/BC,UAAAA,eAAe,EAAEA,eAAgB;UACjCI,UAAU,EACNA,UAAU,KAAAb,iBAAA,KAAAA,iBAAA,gBACN2F,sBAAA,CAAAC,aAAA,CAACa,oCAAgB,EAAA;AAACC,YAAAA,OAAO,EAAExB,yBAAAA;AAA0B,WAAA,EAChDrE,UACa,CAAC,CAAA,CAAA;SAGvB+B,EAAAA,IAAI,CACX,CAAC,CAAA;AAAA,OAAA;AACJ,KAAA,EAEAhB,UAAU,IAAIA,UAAU,CAACyD,YAAY,CAAC,IACnCsB,OAAO,CAACtB,YAAY,CAACb,MAAM,CAAC,iBACzBmB,sBAAA,CAAAC,aAAA,CAAChG,IAAI,EAAA;AACDU,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,cAAc,EAAEA,cAAe;AAC/BE,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,QAAQ,EAAEA,QAAAA;KAEVgF,eAAAA,sBAAA,CAAAC,aAAA,CAACgB,+BAAW,qBACRjB,sBAAA,CAAAC,aAAA,CAACiB,sBAAE,EAAA;AACC9G,MAAAA,GAAG,EAAEqE,SAAU;AACf0C,MAAAA,EAAE,EAAE/C,MAAO;AACXuC,MAAAA,IAAI,EAAC,SAAS;AACd,MAAA,YAAA,EAAY1F,KAAM;AAClBM,MAAAA,QAAQ,EAAEsB,OAAO,GAAG4D,SAAS,GAAGlF,QAAS;AACzCE,MAAAA,aAAa,EAAEA,aAAc;AAC7BoB,MAAAA,OAAO,EAAEA,OAAAA;AAAQ,KAAA,EAEhBA,OAAO,gBACJmD,sBAAA,CAAAC,aAAA,CAACmB,uBAAW,EAAA;AACRC,MAAAA,KAAK,EAAE3B,YAAa;AACpBqB,MAAAA,OAAO,EAAEjC,eAAgB;AACzBV,MAAAA,MAAM,EAAEA,MAAO;AACf3C,MAAAA,aAAa,EAAEA,aAAc;AAC7BF,MAAAA,QAAQ,EAAEA,QAAS;AACnBY,MAAAA,UAAU,EAAEA,UAAAA;AAAW,KAC1B,CAAC,gBAEF6D,sBAAA,CAAAC,aAAA,CAAAD,sBAAA,CAAAsB,QAAA,QACK5E,UAAU,EAEVgD,YAAY,CAAC6B,GAAG,CAAC,UAACC,UAAU,EAAEC,KAAK,EAAA;AAAA,MAAA,oBAChCzB,sBAAA,CAAAC,aAAA,CAACyB,6BAAc,EAAA;AACXC,QAAAA,GAAG,EAAEF,KAAM;AACXG,QAAAA,IAAI,EAAEJ,UAAW;AACjBT,QAAAA,OAAO,EAAEjC,eAAgB;QACzBqC,EAAE,EAAA,EAAA,CAAAP,MAAA,CAAKxC,MAAM,OAAAwC,MAAA,CAAIa,KAAK,CAAG;QACzBhE,OAAO,EAAEA,OAAO,KAAKgE,KAAM;AAC3BtF,QAAAA,UAAU,EAAEA,UAAAA;AAAW,OAC1B,CAAC,CAAA;KACL,CAAC,EAEDQ,SACH,CACL,EAEAT,aAAa,iBACV8D,sBAAA,CAAAC,aAAA,CAAC4B,yCAAqB,EAAA,IAAA,EAAE3F,aAAa,EAA0B,CAEnE,CACK,CACX,CAED,CACf,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAM4F,kBAAkB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,cAAc;AACpBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEjI,gBAAgB;AACxBkI,EAAAA,IAAI,EAAJA,wBAAI;AACJC,EAAAA,QAAQ,EAAE;AACNxH,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTC,IAAAA,cAAc,EAAE,OAAA;GACnB;AACDuH,EAAAA,UAAU,EAAE;AACRzH,IAAAA,IAAI,EAAE;AACF0H,MAAAA,GAAG,EAAE,EAAA;AACT,KAAA;AACJ,GAAA;AACJ;;;;;"}
|
@@ -18,7 +18,8 @@ var FloatingPopover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
18
18
|
portal = _ref.portal,
|
19
19
|
zIndex = _ref.zIndex,
|
20
20
|
listWidth = _ref.listWidth,
|
21
|
-
offset = _ref.offset
|
21
|
+
offset = _ref.offset,
|
22
|
+
flipFlag = _ref.flip;
|
22
23
|
var _useFloating = react.useFloating({
|
23
24
|
whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
|
24
25
|
return react.autoUpdate(referenceEl, floatingEl, update, {
|
@@ -32,9 +33,9 @@ var FloatingPopover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
32
33
|
middleware: [react.offset({
|
33
34
|
mainAxis: (offset === null || offset === void 0 ? void 0 : offset[1]) || 0,
|
34
35
|
alignmentAxis: (offset === null || offset === void 0 ? void 0 : offset[0]) || 0
|
35
|
-
})
|
36
|
+
})].concat(_rollupPluginBabelHelpers.toConsumableArray(flipFlag ? [react.flip({
|
36
37
|
fallbackAxisSideDirection: 'end'
|
37
|
-
}), react.shift(), react.size({
|
38
|
+
})] : []), [react.shift(), react.size({
|
38
39
|
apply: function apply(_ref2) {
|
39
40
|
var rects = _ref2.rects,
|
40
41
|
elements = _ref2.elements;
|
@@ -42,7 +43,7 @@ var FloatingPopover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
42
43
|
width: listWidth || "".concat(rects.reference.width, "px")
|
43
44
|
});
|
44
45
|
}
|
45
|
-
})]
|
46
|
+
})])
|
46
47
|
}),
|
47
48
|
refs = _useFloating.refs,
|
48
49
|
floatingStyles = _useFloating.floatingStyles;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Autocomplete/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n size,\n useFloating,\n FloatingPortal,\n autoUpdate,\n offset as offsetMiddleware,\n} from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport type { FloatingPopoverProps } from './Autocomplete.types';\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, portal, zIndex, listWidth, offset }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: 'bottom-start',\n open: opened,\n middleware: [\n offsetMiddleware({\n mainAxis: offset?.[1] || 0,\n alignmentAxis: offset?.[0] || 0,\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n size({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width: listWidth || `${rects.reference.width}px`,\n });\n },\n }),\n ],\n });\n\n const wrappedId = safeUseId();\n\n // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.\n // Это нужно для более тонкой настройки reference-элемента, вокруг которого и будет позиционироваться выпадашка.\n // Пример: когда в Textfield под инпутом находится helperText (или еще что-либо),\n // но выпадающий список должен позиционироваться непосредственно возле самого инпута.\n const isTargetAsFunction = typeof target === 'function';\n\n return (\n <div ref={ref} id={wrappedId} style={{ position: 'relative' }}>\n <div ref={isTargetAsFunction ? undefined : refs.setReference}>\n {typeof target === 'function' ? target(refs.setReference as any) : target}\n </div>\n\n {opened && (\n // root - принимает ref контейнера портала.\n // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div ref={refs.setFloating} style={{ ...floatingStyles, zIndex: zIndex || 1000 }}>\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["FloatingPopover","forwardRef","_ref","ref","target","children","opened","portal","zIndex","listWidth","offset","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","placement","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","
|
1
|
+
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Autocomplete/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n size,\n useFloating,\n FloatingPortal,\n autoUpdate,\n offset as offsetMiddleware,\n} from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport type { FloatingPopoverProps } from './Autocomplete.types';\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, portal, zIndex, listWidth, offset, flip: flipFlag }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: 'bottom-start',\n open: opened,\n middleware: [\n offsetMiddleware({\n mainAxis: offset?.[1] || 0,\n alignmentAxis: offset?.[0] || 0,\n }),\n ...(flipFlag ? [flip({ fallbackAxisSideDirection: 'end' })] : []),\n shift(),\n size({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width: listWidth || `${rects.reference.width}px`,\n });\n },\n }),\n ],\n });\n\n const wrappedId = safeUseId();\n\n // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.\n // Это нужно для более тонкой настройки reference-элемента, вокруг которого и будет позиционироваться выпадашка.\n // Пример: когда в Textfield под инпутом находится helperText (или еще что-либо),\n // но выпадающий список должен позиционироваться непосредственно возле самого инпута.\n const isTargetAsFunction = typeof target === 'function';\n\n return (\n <div ref={ref} id={wrappedId} style={{ position: 'relative' }}>\n <div ref={isTargetAsFunction ? undefined : refs.setReference}>\n {typeof target === 'function' ? target(refs.setReference as any) : target}\n </div>\n\n {opened && (\n // root - принимает ref контейнера портала.\n // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div ref={refs.setFloating} style={{ ...floatingStyles, zIndex: zIndex || 1000 }}>\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["FloatingPopover","forwardRef","_ref","ref","target","children","opened","portal","zIndex","listWidth","offset","flipFlag","flip","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","placement","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","concat","_toConsumableArray","fallbackAxisSideDirection","shift","size","apply","_ref2","rects","elements","Object","assign","floating","style","width","reference","refs","floatingStyles","wrappedId","safeUseId","isTargetAsFunction","React","createElement","id","position","undefined","setReference","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":"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"}
|
@@ -168,7 +168,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
168
168
|
}
|
169
169
|
var autocompleteRoot = function(Root) {
|
170
170
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(_param, ref) {
|
171
|
-
var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, // @ts-ignore
|
171
|
+
var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, _param_flip = _param.flip, flip = _param_flip === void 0 ? false : _param_flip, // @ts-ignore
|
172
172
|
_offset = _param._offset, rest = _object_without_properties(_param, [
|
173
173
|
"value",
|
174
174
|
"defaultValue",
|
@@ -204,6 +204,7 @@ var autocompleteRoot = function(Root) {
|
|
204
204
|
"beforeList",
|
205
205
|
"afterList",
|
206
206
|
"virtual",
|
207
|
+
"flip",
|
207
208
|
"_offset"
|
208
209
|
]);
|
209
210
|
var _useReducer = _sliced_to_array((0, _react.useReducer)(_focusedReducer.focusedReducer, null), 2), focused = _useReducer[0], dispatchFocused = _useReducer[1];
|
@@ -278,6 +279,7 @@ var autocompleteRoot = function(Root) {
|
|
278
279
|
zIndex: zIndex,
|
279
280
|
listWidth: listWidth,
|
280
281
|
offset: _offset,
|
282
|
+
flip: flip,
|
281
283
|
target: function(referenceRef) {
|
282
284
|
return /*#__PURE__*/ _react.default.createElement(_ui.StyledTextField, _object_spread({
|
283
285
|
ref: ref,
|
@@ -11,6 +11,14 @@ Object.defineProperty(exports, "FloatingPopover", {
|
|
11
11
|
var _react = require("@floating-ui/react");
|
12
12
|
var _react1 = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
13
13
|
var _utils = require("../../utils");
|
14
|
+
function _array_like_to_array(arr, len) {
|
15
|
+
if (len == null || len > arr.length) len = arr.length;
|
16
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
17
|
+
return arr2;
|
18
|
+
}
|
19
|
+
function _array_without_holes(arr) {
|
20
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
21
|
+
}
|
14
22
|
function _define_property(obj, key, value) {
|
15
23
|
if (key in obj) {
|
16
24
|
Object.defineProperty(obj, key, {
|
@@ -65,6 +73,12 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
65
73
|
}
|
66
74
|
return newObj;
|
67
75
|
}
|
76
|
+
function _iterable_to_array(iter) {
|
77
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
78
|
+
}
|
79
|
+
function _non_iterable_spread() {
|
80
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
81
|
+
}
|
68
82
|
function _object_spread(target) {
|
69
83
|
for(var i = 1; i < arguments.length; i++){
|
70
84
|
var source = arguments[i] != null ? arguments[i] : {};
|
@@ -104,8 +118,19 @@ function _object_spread_props(target, source) {
|
|
104
118
|
}
|
105
119
|
return target;
|
106
120
|
}
|
121
|
+
function _to_consumable_array(arr) {
|
122
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
123
|
+
}
|
124
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
125
|
+
if (!o) return;
|
126
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
127
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
128
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
129
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
130
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
131
|
+
}
|
107
132
|
var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref) {
|
108
|
-
var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset;
|
133
|
+
var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset, flipFlag = param.flip;
|
109
134
|
var _useFloating = (0, _react.useFloating)({
|
110
135
|
whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
|
111
136
|
return (0, _react.autoUpdate)(referenceEl, floatingEl, update, {
|
@@ -120,10 +145,12 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
|
|
120
145
|
(0, _react.offset)({
|
121
146
|
mainAxis: (offset === null || offset === void 0 ? void 0 : offset[1]) || 0,
|
122
147
|
alignmentAxis: (offset === null || offset === void 0 ? void 0 : offset[0]) || 0
|
123
|
-
})
|
148
|
+
})
|
149
|
+
].concat(_to_consumable_array(flipFlag ? [
|
124
150
|
(0, _react.flip)({
|
125
151
|
fallbackAxisSideDirection: 'end'
|
126
|
-
})
|
152
|
+
})
|
153
|
+
] : []), [
|
127
154
|
(0, _react.shift)(),
|
128
155
|
(0, _react.size)({
|
129
156
|
apply: function apply(param) {
|
@@ -133,7 +160,7 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
|
|
133
160
|
});
|
134
161
|
}
|
135
162
|
})
|
136
|
-
]
|
163
|
+
])
|
137
164
|
}), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
|
138
165
|
var wrappedId = (0, _utils.safeUseId)();
|
139
166
|
// Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.
|
@@ -111,7 +111,7 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
|
|
111
111
|
* Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.
|
112
112
|
*/ export var autocompleteRoot = function(Root) {
|
113
113
|
return /*#__PURE__*/ forwardRef(function(_param, ref) {
|
114
|
-
var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, // @ts-ignore
|
114
|
+
var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, _param_flip = _param.flip, flip = _param_flip === void 0 ? false : _param_flip, // @ts-ignore
|
115
115
|
_offset = _param._offset, rest = _object_without_properties(_param, [
|
116
116
|
"value",
|
117
117
|
"defaultValue",
|
@@ -147,6 +147,7 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
|
|
147
147
|
"beforeList",
|
148
148
|
"afterList",
|
149
149
|
"virtual",
|
150
|
+
"flip",
|
150
151
|
"_offset"
|
151
152
|
]);
|
152
153
|
var _useReducer = _sliced_to_array(useReducer(focusedReducer, null), 2), focused = _useReducer[0], dispatchFocused = _useReducer[1];
|
@@ -221,6 +222,7 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
|
|
221
222
|
zIndex: zIndex,
|
222
223
|
listWidth: listWidth,
|
223
224
|
offset: _offset,
|
225
|
+
flip: flip,
|
224
226
|
target: function(referenceRef) {
|
225
227
|
return /*#__PURE__*/ React.createElement(StyledTextField, _object_spread({
|
226
228
|
ref: ref,
|
@@ -1,3 +1,11 @@
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
4
|
+
return arr2;
|
5
|
+
}
|
6
|
+
function _array_without_holes(arr) {
|
7
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
8
|
+
}
|
1
9
|
function _define_property(obj, key, value) {
|
2
10
|
if (key in obj) {
|
3
11
|
Object.defineProperty(obj, key, {
|
@@ -11,6 +19,12 @@ function _define_property(obj, key, value) {
|
|
11
19
|
}
|
12
20
|
return obj;
|
13
21
|
}
|
22
|
+
function _iterable_to_array(iter) {
|
23
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
24
|
+
}
|
25
|
+
function _non_iterable_spread() {
|
26
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
27
|
+
}
|
14
28
|
function _object_spread(target) {
|
15
29
|
for(var i = 1; i < arguments.length; i++){
|
16
30
|
var source = arguments[i] != null ? arguments[i] : {};
|
@@ -50,11 +64,22 @@ function _object_spread_props(target, source) {
|
|
50
64
|
}
|
51
65
|
return target;
|
52
66
|
}
|
67
|
+
function _to_consumable_array(arr) {
|
68
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
69
|
+
}
|
70
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
71
|
+
if (!o) return;
|
72
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
73
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
74
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
75
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
76
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
77
|
+
}
|
53
78
|
import { flip, shift, size, useFloating, FloatingPortal, autoUpdate, offset as offsetMiddleware } from "@floating-ui/react";
|
54
79
|
import React, { forwardRef } from "react";
|
55
80
|
import { safeUseId } from "../../utils";
|
56
81
|
var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
57
|
-
var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset;
|
82
|
+
var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset, flipFlag = param.flip;
|
58
83
|
var _useFloating = useFloating({
|
59
84
|
whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
|
60
85
|
return autoUpdate(referenceEl, floatingEl, update, {
|
@@ -69,10 +94,12 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
69
94
|
offsetMiddleware({
|
70
95
|
mainAxis: (offset === null || offset === void 0 ? void 0 : offset[1]) || 0,
|
71
96
|
alignmentAxis: (offset === null || offset === void 0 ? void 0 : offset[0]) || 0
|
72
|
-
})
|
97
|
+
})
|
98
|
+
].concat(_to_consumable_array(flipFlag ? [
|
73
99
|
flip({
|
74
100
|
fallbackAxisSideDirection: 'end'
|
75
|
-
})
|
101
|
+
})
|
102
|
+
] : []), [
|
76
103
|
shift(),
|
77
104
|
size({
|
78
105
|
apply: function apply(param) {
|
@@ -82,7 +109,7 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
82
109
|
});
|
83
110
|
}
|
84
111
|
})
|
85
|
-
]
|
112
|
+
])
|
86
113
|
}), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
|
87
114
|
var wrappedId = safeUseId();
|
88
115
|
// Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.
|
@@ -11,7 +11,7 @@ import { StyledTextField } from './ui/TextField/TextField.styles.js';
|
|
11
11
|
import { VirtualList } from './ui/VirtualList/VirtualList.js';
|
12
12
|
import { SuggestionItem } from './ui/SuggestionItem/SuggestionItem.js';
|
13
13
|
|
14
|
-
var _excluded = ["value", "defaultValue", "onChange", "suggestions", "view", "size", "labelPlacement", "keepPlaceholder", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "zIndex", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "renderItem", "onSearch", "hintText", "hintView", "hintSize", "beforeList", "afterList", "virtual", "_offset"];
|
14
|
+
var _excluded = ["value", "defaultValue", "onChange", "suggestions", "view", "size", "labelPlacement", "keepPlaceholder", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "zIndex", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "renderItem", "onSearch", "hintText", "hintView", "hintSize", "beforeList", "afterList", "virtual", "flip", "_offset"];
|
15
15
|
|
16
16
|
/**
|
17
17
|
* Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.
|
@@ -58,6 +58,8 @@ var autocompleteRoot = function autocompleteRoot(Root) {
|
|
58
58
|
afterList = _ref.afterList,
|
59
59
|
_ref$virtual = _ref.virtual,
|
60
60
|
virtual = _ref$virtual === void 0 ? false : _ref$virtual,
|
61
|
+
_ref$flip = _ref.flip,
|
62
|
+
flip = _ref$flip === void 0 ? false : _ref$flip,
|
61
63
|
_offset = _ref._offset,
|
62
64
|
rest = _objectWithoutProperties(_ref, _excluded);
|
63
65
|
var _useReducer = useReducer(focusedReducer, null),
|
@@ -140,6 +142,7 @@ var autocompleteRoot = function autocompleteRoot(Root) {
|
|
140
142
|
zIndex: zIndex,
|
141
143
|
listWidth: listWidth,
|
142
144
|
offset: _offset,
|
145
|
+
flip: flip,
|
143
146
|
target: function target(referenceRef) {
|
144
147
|
return /*#__PURE__*/React.createElement(StyledTextField, _extends({
|
145
148
|
ref: ref,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport { useDidMountEffect, useOutsideClick } from 'src/hooks';\nimport { RootProps } from 'src/engines';\n\nimport { FloatingPopover } from './FloatingPopover';\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField, VirtualList } from './ui';\nimport { Ul, InfiniteLoaderWrapper, base, StyledLeftHelper, ListWrapper } from './Autocomplete.styles';\nimport type { AutocompleteProps, SuggestionItemType } from './Autocomplete.types';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.\n */\nexport const autocompleteRoot = (Root: RootProps<HTMLInputElement, Omit<AutocompleteProps, 'hintText'>>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n defaultValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight = '25rem',\n listWidth,\n portal,\n zIndex,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n renderItem,\n onSearch,\n hintText,\n hintView = 'default',\n hintSize = 'm',\n beforeList,\n afterList,\n virtual = false,\n // @ts-ignore\n _offset,\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string>(defaultValue || '');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue ?? innerValue;\n\n const helperTextId = safeUseId();\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n setIsOpen(false);\n }, floatingPopoverRef);\n\n const handleFocus = () => {\n if (value.toString().length >= threshold) {\n setIsOpen(true);\n }\n };\n\n const handleItemClick = (e: SuggestionItemType) => {\n setInnerValue(e.label);\n\n if (onSuggestionSelect) {\n onSuggestionSelect(e);\n }\n\n setIsOpen(false);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n\n setInnerValue(currentValue);\n\n if (onChange) {\n onChange(e);\n }\n\n if (currentValue.toString().length >= threshold) {\n setIsOpen(true);\n } else {\n setIsOpen(false);\n }\n };\n\n const defaultFilterCallback = ({ label }: { label: string }) => {\n return label.toLowerCase().includes(value.toString().toLowerCase());\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const finalResults = suggestions?.filter(filter || defaultFilterCallback) || [];\n\n const { onKeyDown } = useKeyNavigation({\n isOpen,\n setIsOpen,\n focused,\n dispatchFocused,\n finalResults,\n handleItemClick,\n });\n\n useDidMountEffect(() => {\n dispatchFocused({ type: 'reset' });\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n hintView={hintView}\n hintSize={hintSize}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isOpen}\n portal={portal}\n zIndex={zIndex}\n listWidth={listWidth}\n offset={_offset}\n target={(referenceRef) => (\n <StyledTextField\n ref={ref}\n inputWrapperRef={referenceRef}\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onFocus={handleFocus}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={listId}\n aria-expanded={isOpen}\n aria-activedescendant={`${listId}/${focused}`}\n aria-describedby={helperTextId}\n hintText={String(hintText || '')}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n leftHelper={\n leftHelper && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {leftHelper}\n </StyledLeftHelper>\n )\n }\n {...rest}\n />\n )}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <ListWrapper>\n <Ul\n ref={targetRef}\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={virtual ? undefined : onScroll}\n listMaxHeight={listMaxHeight}\n virtual={virtual}\n >\n {virtual ? (\n <VirtualList\n items={finalResults}\n onClick={handleItemClick}\n listId={listId}\n listMaxHeight={listMaxHeight}\n onScroll={onScroll}\n renderItem={renderItem}\n />\n ) : (\n <>\n {beforeList}\n\n {finalResults.map((suggestion, index) => (\n <SuggestionItem\n key={index}\n item={suggestion}\n onClick={handleItemClick}\n id={`${listId}/${index}`}\n focused={focused === index}\n renderItem={renderItem}\n />\n ))}\n\n {afterList}\n </>\n )}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </ListWrapper>\n </Root>\n ))}\n </FloatingPopover>\n </Root>\n );\n },\n );\n\nexport const autocompleteConfig = {\n name: 'Autocomplete',\n tag: 'div',\n layout: autocompleteRoot,\n base,\n defaults: {\n view: 'default',\n size: 'l',\n labelPlacement: 'outer',\n },\n variations: {\n view: {\n css: '',\n },\n },\n};\n"],"names":["autocompleteRoot","Root","forwardRef","_ref","ref","_StyledLeftHelper","outerValue","value","defaultValue","onChange","suggestions","view","size","labelPlacement","keepPlaceholder","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","_ref$listMaxHeight","listMaxHeight","listWidth","portal","zIndex","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","renderItem","onSearch","hintText","_ref$hintView","hintView","_ref$hintSize","hintSize","beforeList","afterList","_ref$virtual","virtual","_offset","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","floatingPopoverRef","useRef","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","helperTextStopPropagation","event","stopPropagation","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","FloatingPopover","opened","offset","referenceRef","StyledTextField","_extends","inputWrapperRef","undefined","onFocus","role","concat","String","StyledLeftHelper","onClick","Boolean","ListWrapper","Ul","id","VirtualList","items","Fragment","map","suggestion","index","SuggestionItem","key","item","InfiniteLoaderWrapper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useRef } from 'react';\nimport { safeUseId } from 'src/utils';\nimport { useDidMountEffect, useOutsideClick } from 'src/hooks';\nimport { RootProps } from 'src/engines';\n\nimport { FloatingPopover } from './FloatingPopover';\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField, VirtualList } from './ui';\nimport { Ul, InfiniteLoaderWrapper, base, StyledLeftHelper, ListWrapper } from './Autocomplete.styles';\nimport type { AutocompleteProps, SuggestionItemType } from './Autocomplete.types';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.\n */\nexport const autocompleteRoot = (Root: RootProps<HTMLInputElement, Omit<AutocompleteProps, 'hintText'>>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n defaultValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n keepPlaceholder,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight = '25rem',\n listWidth,\n portal,\n zIndex,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n renderItem,\n onSearch,\n hintText,\n hintView = 'default',\n hintSize = 'm',\n beforeList,\n afterList,\n virtual = false,\n flip = false,\n // @ts-ignore\n _offset,\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string>(defaultValue || '');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue ?? innerValue;\n\n const helperTextId = safeUseId();\n const floatingPopoverRef = useRef<HTMLDivElement>(null);\n\n const targetRef = useOutsideClick<HTMLUListElement>(() => {\n setIsOpen(false);\n }, floatingPopoverRef);\n\n const handleFocus = () => {\n if (value.toString().length >= threshold) {\n setIsOpen(true);\n }\n };\n\n const handleItemClick = (e: SuggestionItemType) => {\n setInnerValue(e.label);\n\n if (onSuggestionSelect) {\n onSuggestionSelect(e);\n }\n\n setIsOpen(false);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n\n setInnerValue(currentValue);\n\n if (onChange) {\n onChange(e);\n }\n\n if (currentValue.toString().length >= threshold) {\n setIsOpen(true);\n } else {\n setIsOpen(false);\n }\n };\n\n const defaultFilterCallback = ({ label }: { label: string }) => {\n return label.toLowerCase().includes(value.toString().toLowerCase());\n };\n\n const helperTextStopPropagation = (event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n };\n\n const finalResults = suggestions?.filter(filter || defaultFilterCallback) || [];\n\n const { onKeyDown } = useKeyNavigation({\n isOpen,\n setIsOpen,\n focused,\n dispatchFocused,\n finalResults,\n handleItemClick,\n });\n\n useDidMountEffect(() => {\n dispatchFocused({ type: 'reset' });\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n hintView={hintView}\n hintSize={hintSize}\n >\n <FloatingPopover\n ref={floatingPopoverRef}\n opened={isOpen}\n portal={portal}\n zIndex={zIndex}\n listWidth={listWidth}\n offset={_offset}\n flip={flip}\n target={(referenceRef) => (\n <StyledTextField\n ref={ref}\n inputWrapperRef={referenceRef}\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n size={size}\n view={view}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onFocus={handleFocus}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={listId}\n aria-expanded={isOpen}\n aria-activedescendant={`${listId}/${focused}`}\n aria-describedby={helperTextId}\n hintText={String(hintText || '')}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n leftHelper={\n leftHelper && (\n <StyledLeftHelper onClick={helperTextStopPropagation}>\n {leftHelper}\n </StyledLeftHelper>\n )\n }\n {...rest}\n />\n )}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <ListWrapper>\n <Ul\n ref={targetRef}\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={virtual ? undefined : onScroll}\n listMaxHeight={listMaxHeight}\n virtual={virtual}\n >\n {virtual ? (\n <VirtualList\n items={finalResults}\n onClick={handleItemClick}\n listId={listId}\n listMaxHeight={listMaxHeight}\n onScroll={onScroll}\n renderItem={renderItem}\n />\n ) : (\n <>\n {beforeList}\n\n {finalResults.map((suggestion, index) => (\n <SuggestionItem\n key={index}\n item={suggestion}\n onClick={handleItemClick}\n id={`${listId}/${index}`}\n focused={focused === index}\n renderItem={renderItem}\n />\n ))}\n\n {afterList}\n </>\n )}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </ListWrapper>\n </Root>\n ))}\n </FloatingPopover>\n </Root>\n );\n },\n );\n\nexport const autocompleteConfig = {\n name: 'Autocomplete',\n tag: 'div',\n layout: autocompleteRoot,\n base,\n defaults: {\n view: 'default',\n size: 'l',\n labelPlacement: 'outer',\n },\n variations: {\n view: {\n css: '',\n },\n },\n};\n"],"names":["autocompleteRoot","Root","forwardRef","_ref","ref","_StyledLeftHelper","outerValue","value","defaultValue","onChange","suggestions","view","size","labelPlacement","keepPlaceholder","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","_ref$listMaxHeight","listMaxHeight","listWidth","portal","zIndex","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","renderItem","onSearch","hintText","_ref$hintView","hintView","_ref$hintSize","hintSize","beforeList","afterList","_ref$virtual","virtual","_ref$flip","flip","_offset","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","floatingPopoverRef","useRef","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","helperTextStopPropagation","event","stopPropagation","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","FloatingPopover","opened","offset","referenceRef","StyledTextField","_extends","inputWrapperRef","undefined","onFocus","role","concat","String","StyledLeftHelper","onClick","Boolean","ListWrapper","Ul","id","VirtualList","items","Fragment","map","suggestion","index","SuggestionItem","key","item","InfiniteLoaderWrapper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
1
|
+
import { toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import { useFloating, autoUpdate, offset, flip, shift, size, FloatingPortal } from '@floating-ui/react';
|
3
3
|
import React, { forwardRef } from 'react';
|
4
4
|
import { safeUseId } from '../../utils/react.js';
|
@@ -10,7 +10,8 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
10
10
|
portal = _ref.portal,
|
11
11
|
zIndex = _ref.zIndex,
|
12
12
|
listWidth = _ref.listWidth,
|
13
|
-
offset$1 = _ref.offset
|
13
|
+
offset$1 = _ref.offset,
|
14
|
+
flipFlag = _ref.flip;
|
14
15
|
var _useFloating = useFloating({
|
15
16
|
whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
|
16
17
|
return autoUpdate(referenceEl, floatingEl, update, {
|
@@ -24,9 +25,9 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
24
25
|
middleware: [offset({
|
25
26
|
mainAxis: (offset$1 === null || offset$1 === void 0 ? void 0 : offset$1[1]) || 0,
|
26
27
|
alignmentAxis: (offset$1 === null || offset$1 === void 0 ? void 0 : offset$1[0]) || 0
|
27
|
-
})
|
28
|
+
})].concat(_toConsumableArray(flipFlag ? [flip({
|
28
29
|
fallbackAxisSideDirection: 'end'
|
29
|
-
}), shift(), size({
|
30
|
+
})] : []), [shift(), size({
|
30
31
|
apply: function apply(_ref2) {
|
31
32
|
var rects = _ref2.rects,
|
32
33
|
elements = _ref2.elements;
|
@@ -34,7 +35,7 @@ var FloatingPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
34
35
|
width: listWidth || "".concat(rects.reference.width, "px")
|
35
36
|
});
|
36
37
|
}
|
37
|
-
})]
|
38
|
+
})])
|
38
39
|
}),
|
39
40
|
refs = _useFloating.refs,
|
40
41
|
floatingStyles = _useFloating.floatingStyles;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Autocomplete/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n size,\n useFloating,\n FloatingPortal,\n autoUpdate,\n offset as offsetMiddleware,\n} from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport type { FloatingPopoverProps } from './Autocomplete.types';\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, portal, zIndex, listWidth, offset }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: 'bottom-start',\n open: opened,\n middleware: [\n offsetMiddleware({\n mainAxis: offset?.[1] || 0,\n alignmentAxis: offset?.[0] || 0,\n }),\n flip({ fallbackAxisSideDirection: 'end' }),\n shift(),\n size({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width: listWidth || `${rects.reference.width}px`,\n });\n },\n }),\n ],\n });\n\n const wrappedId = safeUseId();\n\n // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.\n // Это нужно для более тонкой настройки reference-элемента, вокруг которого и будет позиционироваться выпадашка.\n // Пример: когда в Textfield под инпутом находится helperText (или еще что-либо),\n // но выпадающий список должен позиционироваться непосредственно возле самого инпута.\n const isTargetAsFunction = typeof target === 'function';\n\n return (\n <div ref={ref} id={wrappedId} style={{ position: 'relative' }}>\n <div ref={isTargetAsFunction ? undefined : refs.setReference}>\n {typeof target === 'function' ? target(refs.setReference as any) : target}\n </div>\n\n {opened && (\n // root - принимает ref контейнера портала.\n // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div ref={refs.setFloating} style={{ ...floatingStyles, zIndex: zIndex || 1000 }}>\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["FloatingPopover","forwardRef","_ref","ref","target","children","opened","portal","zIndex","listWidth","offset","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","placement","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","
|
1
|
+
{"version":3,"file":"FloatingPopover.js","sources":["../../../src/components/Autocomplete/FloatingPopover.tsx"],"sourcesContent":["import {\n flip,\n shift,\n size,\n useFloating,\n FloatingPortal,\n autoUpdate,\n offset as offsetMiddleware,\n} from '@floating-ui/react';\nimport React, { forwardRef } from 'react';\nimport { safeUseId } from 'src/utils';\n\nimport type { FloatingPopoverProps } from './Autocomplete.types';\n\nconst FloatingPopover = forwardRef<HTMLDivElement, FloatingPopoverProps>(\n ({ target, children, opened, portal, zIndex, listWidth, offset, flip: flipFlag }, ref) => {\n const { refs, floatingStyles } = useFloating({\n whileElementsMounted(referenceEl, floatingEl, update) {\n return autoUpdate(referenceEl, floatingEl, update, {\n ancestorScroll: false,\n ancestorResize: false,\n layoutShift: false,\n });\n },\n placement: 'bottom-start',\n open: opened,\n middleware: [\n offsetMiddleware({\n mainAxis: offset?.[1] || 0,\n alignmentAxis: offset?.[0] || 0,\n }),\n ...(flipFlag ? [flip({ fallbackAxisSideDirection: 'end' })] : []),\n shift(),\n size({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width: listWidth || `${rects.reference.width}px`,\n });\n },\n }),\n ],\n });\n\n const wrappedId = safeUseId();\n\n // Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.\n // Это нужно для более тонкой настройки reference-элемента, вокруг которого и будет позиционироваться выпадашка.\n // Пример: когда в Textfield под инпутом находится helperText (или еще что-либо),\n // но выпадающий список должен позиционироваться непосредственно возле самого инпута.\n const isTargetAsFunction = typeof target === 'function';\n\n return (\n <div ref={ref} id={wrappedId} style={{ position: 'relative' }}>\n <div ref={isTargetAsFunction ? undefined : refs.setReference}>\n {typeof target === 'function' ? target(refs.setReference as any) : target}\n </div>\n\n {opened && (\n // root - принимает ref контейнера портала.\n // id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\n <FloatingPortal {...getFloatingPortalProps(portal, wrappedId)}>\n <div ref={refs.setFloating} style={{ ...floatingStyles, zIndex: zIndex || 1000 }}>\n {children}\n </div>\n </FloatingPortal>\n )}\n </div>\n );\n },\n);\n\ntype FloatingPortalReturnedProps = {\n root?: React.RefObject<HTMLElement>;\n id?: string;\n};\n\n// root - принимает ref контейнера портала.\n// id - если есть портал - не используется, если портала нет - подставляется 'wrappedId'.\nconst getFloatingPortalProps = (\n portal: FloatingPopoverProps['portal'],\n wrappedId: string,\n): FloatingPortalReturnedProps => {\n if (!portal) {\n return { id: wrappedId };\n }\n\n if (typeof portal === 'string') {\n return { id: portal };\n }\n\n return { root: portal };\n};\n\nexport { FloatingPopover };\n"],"names":["FloatingPopover","forwardRef","_ref","ref","target","children","opened","portal","zIndex","listWidth","offset","flipFlag","flip","_useFloating","useFloating","whileElementsMounted","referenceEl","floatingEl","update","autoUpdate","ancestorScroll","ancestorResize","layoutShift","placement","open","middleware","offsetMiddleware","mainAxis","alignmentAxis","concat","_toConsumableArray","fallbackAxisSideDirection","shift","size","apply","_ref2","rects","elements","Object","assign","floating","style","width","reference","refs","floatingStyles","wrappedId","safeUseId","isTargetAsFunction","React","createElement","id","position","undefined","setReference","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.335.0-canary.
|
3
|
+
"version": "0.335.0-canary.2199.17384366399.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -79,7 +79,7 @@
|
|
79
79
|
"@rollup/plugin-babel": "^6.0.4",
|
80
80
|
"@rollup/plugin-commonjs": "^25.0.4",
|
81
81
|
"@rollup/plugin-node-resolve": "^15.1.0",
|
82
|
-
"@salutejs/plasma-sb-utils": "0.207.0-canary.
|
82
|
+
"@salutejs/plasma-sb-utils": "0.207.0-canary.2199.17384366399.0",
|
83
83
|
"@salutejs/plasma-themes": "0.37.0",
|
84
84
|
"@storybook/addon-docs": "8.6.12",
|
85
85
|
"@storybook/addon-essentials": "8.6.12",
|
@@ -117,7 +117,7 @@
|
|
117
117
|
"@linaria/react": "5.0.3",
|
118
118
|
"@popperjs/core": "2.11.8",
|
119
119
|
"@salutejs/input-core": "2.1.2",
|
120
|
-
"@salutejs/plasma-core": "1.207.0-canary.
|
120
|
+
"@salutejs/plasma-core": "1.207.0-canary.2199.17384366399.0",
|
121
121
|
"@salutejs/react-maskinput": "3.2.6",
|
122
122
|
"@tanstack/react-table": "8.21.2",
|
123
123
|
"@tanstack/react-virtual": "3.13.2",
|
@@ -137,5 +137,5 @@
|
|
137
137
|
"sideEffects": [
|
138
138
|
"*.css"
|
139
139
|
],
|
140
|
-
"gitHead": "
|
140
|
+
"gitHead": "28f274b6a820cb4547b90e65574c3765a7030028"
|
141
141
|
}
|
@@ -168,7 +168,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
168
168
|
}
|
169
169
|
var autocompleteRoot = function(Root) {
|
170
170
|
return /*#__PURE__*/ (0, _react.forwardRef)(function(_param, ref) {
|
171
|
-
var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, // @ts-ignore
|
171
|
+
var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, _param_flip = _param.flip, flip = _param_flip === void 0 ? false : _param_flip, // @ts-ignore
|
172
172
|
_offset = _param._offset, rest = _object_without_properties(_param, [
|
173
173
|
"value",
|
174
174
|
"defaultValue",
|
@@ -204,6 +204,7 @@ var autocompleteRoot = function(Root) {
|
|
204
204
|
"beforeList",
|
205
205
|
"afterList",
|
206
206
|
"virtual",
|
207
|
+
"flip",
|
207
208
|
"_offset"
|
208
209
|
]);
|
209
210
|
var _useReducer = _sliced_to_array((0, _react.useReducer)(_focusedReducer.focusedReducer, null), 2), focused = _useReducer[0], dispatchFocused = _useReducer[1];
|
@@ -278,6 +279,7 @@ var autocompleteRoot = function(Root) {
|
|
278
279
|
zIndex: zIndex,
|
279
280
|
listWidth: listWidth,
|
280
281
|
offset: _offset,
|
282
|
+
flip: flip,
|
281
283
|
target: function(referenceRef) {
|
282
284
|
return /*#__PURE__*/ _react.default.createElement(_ui.StyledTextField, _object_spread({
|
283
285
|
ref: ref,
|
@@ -11,6 +11,14 @@ Object.defineProperty(exports, "FloatingPopover", {
|
|
11
11
|
var _react = require("@floating-ui/react");
|
12
12
|
var _react1 = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
13
13
|
var _utils = require("../../utils");
|
14
|
+
function _array_like_to_array(arr, len) {
|
15
|
+
if (len == null || len > arr.length) len = arr.length;
|
16
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
17
|
+
return arr2;
|
18
|
+
}
|
19
|
+
function _array_without_holes(arr) {
|
20
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
21
|
+
}
|
14
22
|
function _define_property(obj, key, value) {
|
15
23
|
if (key in obj) {
|
16
24
|
Object.defineProperty(obj, key, {
|
@@ -65,6 +73,12 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
65
73
|
}
|
66
74
|
return newObj;
|
67
75
|
}
|
76
|
+
function _iterable_to_array(iter) {
|
77
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
78
|
+
}
|
79
|
+
function _non_iterable_spread() {
|
80
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
81
|
+
}
|
68
82
|
function _object_spread(target) {
|
69
83
|
for(var i = 1; i < arguments.length; i++){
|
70
84
|
var source = arguments[i] != null ? arguments[i] : {};
|
@@ -104,8 +118,19 @@ function _object_spread_props(target, source) {
|
|
104
118
|
}
|
105
119
|
return target;
|
106
120
|
}
|
121
|
+
function _to_consumable_array(arr) {
|
122
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
123
|
+
}
|
124
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
125
|
+
if (!o) return;
|
126
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
127
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
128
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
129
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
130
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
131
|
+
}
|
107
132
|
var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref) {
|
108
|
-
var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset;
|
133
|
+
var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset, flipFlag = param.flip;
|
109
134
|
var _useFloating = (0, _react.useFloating)({
|
110
135
|
whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
|
111
136
|
return (0, _react.autoUpdate)(referenceEl, floatingEl, update, {
|
@@ -120,10 +145,12 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
|
|
120
145
|
(0, _react.offset)({
|
121
146
|
mainAxis: (offset === null || offset === void 0 ? void 0 : offset[1]) || 0,
|
122
147
|
alignmentAxis: (offset === null || offset === void 0 ? void 0 : offset[0]) || 0
|
123
|
-
})
|
148
|
+
})
|
149
|
+
].concat(_to_consumable_array(flipFlag ? [
|
124
150
|
(0, _react.flip)({
|
125
151
|
fallbackAxisSideDirection: 'end'
|
126
|
-
})
|
152
|
+
})
|
153
|
+
] : []), [
|
127
154
|
(0, _react.shift)(),
|
128
155
|
(0, _react.size)({
|
129
156
|
apply: function apply(param) {
|
@@ -133,7 +160,7 @@ var FloatingPopover = /*#__PURE__*/ (0, _react1.forwardRef)(function(param, ref)
|
|
133
160
|
});
|
134
161
|
}
|
135
162
|
})
|
136
|
-
]
|
163
|
+
])
|
137
164
|
}), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
|
138
165
|
var wrappedId = (0, _utils.safeUseId)();
|
139
166
|
// Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.
|
@@ -1,16 +1 @@
|
|
1
1
|
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "Combobox", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return Combobox;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
var _engines = require("../../../engines");
|
12
|
-
var _ = require("../../..");
|
13
|
-
var _Comboboxconfig = require("./Combobox.config");
|
14
|
-
var mergedConfig = (0, _engines.mergeConfig)(_.comboboxNewConfig, _Comboboxconfig.config);
|
15
|
-
var ComboboxComponent = (0, _engines.component)(mergedConfig);
|
16
|
-
var Combobox = ComboboxComponent;
|
@@ -111,7 +111,7 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
|
|
111
111
|
* Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.
|
112
112
|
*/ export var autocompleteRoot = function(Root) {
|
113
113
|
return /*#__PURE__*/ forwardRef(function(_param, ref) {
|
114
|
-
var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, // @ts-ignore
|
114
|
+
var outerValue = _param.value, defaultValue = _param.defaultValue, onChange = _param.onChange, suggestions = _param.suggestions, view = _param.view, size = _param.size, labelPlacement = _param.labelPlacement, keepPlaceholder = _param.keepPlaceholder, disabled = _param.disabled, readOnly = _param.readOnly, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, onScroll = _param.onScroll, _param_listMaxHeight = _param.listMaxHeight, listMaxHeight = _param_listMaxHeight === void 0 ? '25rem' : _param_listMaxHeight, listWidth = _param.listWidth, portal = _param.portal, zIndex = _param.zIndex, filter = _param.filter, onSuggestionSelect = _param.onSuggestionSelect, _param_threshold = _param.threshold, threshold = _param_threshold === void 0 ? 2 : _param_threshold, renderList = _param.renderList, renderListEnd = _param.renderListEnd, renderItem = _param.renderItem, onSearch = _param.onSearch, hintText = _param.hintText, _param_hintView = _param.hintView, hintView = _param_hintView === void 0 ? 'default' : _param_hintView, _param_hintSize = _param.hintSize, hintSize = _param_hintSize === void 0 ? 'm' : _param_hintSize, beforeList = _param.beforeList, afterList = _param.afterList, _param_virtual = _param.virtual, virtual = _param_virtual === void 0 ? false : _param_virtual, _param_flip = _param.flip, flip = _param_flip === void 0 ? false : _param_flip, // @ts-ignore
|
115
115
|
_offset = _param._offset, rest = _object_without_properties(_param, [
|
116
116
|
"value",
|
117
117
|
"defaultValue",
|
@@ -147,6 +147,7 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
|
|
147
147
|
"beforeList",
|
148
148
|
"afterList",
|
149
149
|
"virtual",
|
150
|
+
"flip",
|
150
151
|
"_offset"
|
151
152
|
]);
|
152
153
|
var _useReducer = _sliced_to_array(useReducer(focusedReducer, null), 2), focused = _useReducer[0], dispatchFocused = _useReducer[1];
|
@@ -221,6 +222,7 @@ import { useKeyNavigation } from "./hooks/useKeyboardNavigation";
|
|
221
222
|
zIndex: zIndex,
|
222
223
|
listWidth: listWidth,
|
223
224
|
offset: _offset,
|
225
|
+
flip: flip,
|
224
226
|
target: function(referenceRef) {
|
225
227
|
return /*#__PURE__*/ React.createElement(StyledTextField, _object_spread({
|
226
228
|
ref: ref,
|
@@ -1,3 +1,11 @@
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
4
|
+
return arr2;
|
5
|
+
}
|
6
|
+
function _array_without_holes(arr) {
|
7
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
8
|
+
}
|
1
9
|
function _define_property(obj, key, value) {
|
2
10
|
if (key in obj) {
|
3
11
|
Object.defineProperty(obj, key, {
|
@@ -11,6 +19,12 @@ function _define_property(obj, key, value) {
|
|
11
19
|
}
|
12
20
|
return obj;
|
13
21
|
}
|
22
|
+
function _iterable_to_array(iter) {
|
23
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
24
|
+
}
|
25
|
+
function _non_iterable_spread() {
|
26
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
27
|
+
}
|
14
28
|
function _object_spread(target) {
|
15
29
|
for(var i = 1; i < arguments.length; i++){
|
16
30
|
var source = arguments[i] != null ? arguments[i] : {};
|
@@ -50,11 +64,22 @@ function _object_spread_props(target, source) {
|
|
50
64
|
}
|
51
65
|
return target;
|
52
66
|
}
|
67
|
+
function _to_consumable_array(arr) {
|
68
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
69
|
+
}
|
70
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
71
|
+
if (!o) return;
|
72
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
73
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
74
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
75
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
76
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
77
|
+
}
|
53
78
|
import { flip, shift, size, useFloating, FloatingPortal, autoUpdate, offset as offsetMiddleware } from "@floating-ui/react";
|
54
79
|
import React, { forwardRef } from "react";
|
55
80
|
import { safeUseId } from "../../utils";
|
56
81
|
var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
57
|
-
var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset;
|
82
|
+
var target = param.target, children = param.children, opened = param.opened, portal = param.portal, zIndex = param.zIndex, listWidth = param.listWidth, offset = param.offset, flipFlag = param.flip;
|
58
83
|
var _useFloating = useFloating({
|
59
84
|
whileElementsMounted: function whileElementsMounted(referenceEl, floatingEl, update) {
|
60
85
|
return autoUpdate(referenceEl, floatingEl, update, {
|
@@ -69,10 +94,12 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
69
94
|
offsetMiddleware({
|
70
95
|
mainAxis: (offset === null || offset === void 0 ? void 0 : offset[1]) || 0,
|
71
96
|
alignmentAxis: (offset === null || offset === void 0 ? void 0 : offset[0]) || 0
|
72
|
-
})
|
97
|
+
})
|
98
|
+
].concat(_to_consumable_array(flipFlag ? [
|
73
99
|
flip({
|
74
100
|
fallbackAxisSideDirection: 'end'
|
75
|
-
})
|
101
|
+
})
|
102
|
+
] : []), [
|
76
103
|
shift(),
|
77
104
|
size({
|
78
105
|
apply: function apply(param) {
|
@@ -82,7 +109,7 @@ var FloatingPopover = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
82
109
|
});
|
83
110
|
}
|
84
111
|
})
|
85
|
-
]
|
112
|
+
])
|
86
113
|
}), refs = _useFloating.refs, floatingStyles = _useFloating.floatingStyles;
|
87
114
|
var wrappedId = safeUseId();
|
88
115
|
// Проверка на target. Это может быть как ReactNode, так и функция, в которую пробрасывается ref.
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { component, mergeConfig } from "../../../engines";
|
2
|
-
import { comboboxNewConfig } from "../../..";
|
3
|
-
import { config } from "./Combobox.config";
|
4
|
-
var mergedConfig = mergeConfig(comboboxNewConfig, config);
|
5
|
-
var ComboboxComponent = component(mergedConfig);
|
6
|
-
var Combobox = ComboboxComponent;
|
7
|
-
export { Combobox };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,OAAO,KAAK,EAAE,iBAAiB,EAAsB,MAAM,sBAAsB,CAAC;AAGlF;;GAEG;AACH,eAAO,MAAM,gBAAgB,SAAU,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,+
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,OAAO,KAAK,EAAE,iBAAiB,EAAsB,MAAM,sBAAsB,CAAC;AAGlF;;GAEG;AACH,eAAO,MAAM,gBAAgB,SAAU,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,+FAoOlG,CAAC;AAEN,eAAO,MAAM,kBAAkB;;;mBAtOQ,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;;;;;;;;;;;;CAqPtG,CAAC"}
|
@@ -100,6 +100,11 @@ export type AutocompleteProps = {
|
|
100
100
|
* @default false
|
101
101
|
*/
|
102
102
|
virtual?: boolean;
|
103
|
+
/**
|
104
|
+
* Отображение выпадающего списка сверху, если снизу недостаточно места.
|
105
|
+
* @default false
|
106
|
+
*/
|
107
|
+
flip?: boolean;
|
103
108
|
/**
|
104
109
|
* Размер контрола.
|
105
110
|
* @default l
|
@@ -119,5 +124,6 @@ export type FloatingPopoverProps = {
|
|
119
124
|
zIndex?: AutocompleteProps['zIndex'];
|
120
125
|
listWidth?: AutocompleteProps['listWidth'];
|
121
126
|
offset?: [number, number];
|
127
|
+
flip?: boolean;
|
122
128
|
};
|
123
129
|
//# sourceMappingURL=Autocomplete.types.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Autocomplete.types.d.ts","sourceRoot":"","sources":["../../../src/components/Autocomplete/Autocomplete.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC;IAC/C;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,KAAK,SAAS,CAAC;IACxD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,SAAS,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,KAAK,CAAC,SAAS,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"Autocomplete.types.d.ts","sourceRoot":"","sources":["../../../src/components/Autocomplete/Autocomplete.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC;IAC/C;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,KAAK,SAAS,CAAC;IACxD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,SAAS,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,KAAK,CAAC,SAAS,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,gBAAgB,CAChB,kBAAkB,EAClB,OAAO,GAAG,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,GAAG,eAAe,GAAG,UAAU,CAC/G,GACG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC;AAEhG,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IACjG,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC"}
|
@@ -49,6 +49,7 @@ export declare const Autocomplete: import("react").FunctionComponent<import("../
|
|
49
49
|
beforeList?: import("react").ReactNode;
|
50
50
|
afterList?: import("react").ReactNode;
|
51
51
|
virtual?: boolean;
|
52
|
+
flip?: boolean;
|
52
53
|
size?: string;
|
53
54
|
view?: string;
|
54
55
|
} & Omit<{
|
@@ -103,6 +104,7 @@ export declare const Autocomplete: import("react").FunctionComponent<import("../
|
|
103
104
|
beforeList?: import("react").ReactNode;
|
104
105
|
afterList?: import("react").ReactNode;
|
105
106
|
virtual?: boolean;
|
107
|
+
flip?: boolean;
|
106
108
|
size?: string;
|
107
109
|
view?: string;
|
108
110
|
} & Omit<{
|
@@ -159,6 +161,7 @@ export declare const Autocomplete: import("react").FunctionComponent<import("../
|
|
159
161
|
beforeList?: import("react").ReactNode;
|
160
162
|
afterList?: import("react").ReactNode;
|
161
163
|
virtual?: boolean;
|
164
|
+
flip?: boolean;
|
162
165
|
size?: string;
|
163
166
|
view?: string;
|
164
167
|
} & Omit<{
|
@@ -213,6 +216,7 @@ export declare const Autocomplete: import("react").FunctionComponent<import("../
|
|
213
216
|
beforeList?: import("react").ReactNode;
|
214
217
|
afterList?: import("react").ReactNode;
|
215
218
|
virtual?: boolean;
|
219
|
+
flip?: boolean;
|
216
220
|
size?: string;
|
217
221
|
view?: string;
|
218
222
|
} & Omit<{
|
@@ -269,6 +273,7 @@ export declare const Autocomplete: import("react").FunctionComponent<import("../
|
|
269
273
|
beforeList?: import("react").ReactNode;
|
270
274
|
afterList?: import("react").ReactNode;
|
271
275
|
virtual?: boolean;
|
276
|
+
flip?: boolean;
|
272
277
|
size?: string;
|
273
278
|
view?: string;
|
274
279
|
} & Omit<{
|
@@ -323,6 +328,7 @@ export declare const Autocomplete: import("react").FunctionComponent<import("../
|
|
323
328
|
beforeList?: import("react").ReactNode;
|
324
329
|
afterList?: import("react").ReactNode;
|
325
330
|
virtual?: boolean;
|
331
|
+
flip?: boolean;
|
326
332
|
size?: string;
|
327
333
|
view?: string;
|
328
334
|
} & Omit<{
|
@@ -379,6 +385,7 @@ export declare const Autocomplete: import("react").FunctionComponent<import("../
|
|
379
385
|
beforeList?: import("react").ReactNode;
|
380
386
|
afterList?: import("react").ReactNode;
|
381
387
|
virtual?: boolean;
|
388
|
+
flip?: boolean;
|
382
389
|
size?: string;
|
383
390
|
view?: string;
|
384
391
|
} & Omit<{
|
@@ -433,6 +440,7 @@ export declare const Autocomplete: import("react").FunctionComponent<import("../
|
|
433
440
|
beforeList?: import("react").ReactNode;
|
434
441
|
afterList?: import("react").ReactNode;
|
435
442
|
virtual?: boolean;
|
443
|
+
flip?: boolean;
|
436
444
|
size?: string;
|
437
445
|
view?: string;
|
438
446
|
} & Omit<{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/examples/components/Autocomplete/Autocomplete.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAC4gB,MAAO,SAAS;;;;;;;;mBAAiyB,MAAO,OAAO;;;sBAAqU,CAAC;;0FAA+R,MAAO,SAAS
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/examples/components/Autocomplete/Autocomplete.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAC4gB,MAAO,SAAS;;;;;;;;mBAAiyB,MAAO,OAAO;;;sBAAqU,CAAC;;0FAA+R,MAAO,SAAS;;;;;;;;;;kBAAugH,MAAO,YAAY;mBAAqE,MAAO,YAAY;;;oCAAuQ,CAAC;;;;;;;;;;;;;;;;;;;;oCAA9lK,CAAC;;;;;;;;4BAA1M,SAAS;;;;;;;;yBAAwyB,OAAO;;;sBAAqU,CAAC;;gGAAsS,SAAS;;;;;;;;;;wBAA8gH,YAAY;yBAA4E,YAAY;;;oCAAuQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAAvyK,SAAS;;;;;;;;yBAAwyB,OAAO;;;sBAAqU,CAAC;;gGAAsS,SAAS;;;;;;;;;;wBAA8gH,YAAY;yBAA4E,YAAY;;;oCAAuQ,CAAC;;;;;;;;;;;;;;;;;;;;oCAA9lK,CAAC;;;;;;;;4BAA1M,SAAS;;;;;;;;yBAAwyB,OAAO;;;sBAAqU,CAAC;;gGAAsS,SAAS;;;;;;;;;;wBAA8gH,YAAY;yBAA4E,YAAY;;;oCAAuQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAAvyK,SAAS;;;;;;;;yBAAwyB,OAAO;;;sBAAqU,CAAC;;gGAAsS,SAAS;;;;;;;;;;wBAA8gH,YAAY;yBAA4E,YAAY;;;oCAAuQ,CAAC;;;;;;;;;;;;;;;;;;;;oCAA9lK,CAAC;;;;;;;;4BAA1M,SAAS;;;;;;;;yBAAwyB,OAAO;;;sBAAqU,CAAC;;gGAAsS,SAAS;;;;;;;;;;wBAA8gH,YAAY;yBAA4E,YAAY;;;oCAAuQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAAvyK,SAAS;;;;;;;;yBAAwyB,OAAO;;;sBAAqU,CAAC;;gGAAsS,SAAS;;;;;;;;;;wBAA8gH,YAAY;yBAA4E,YAAY;;;oCAAuQ,CAAC;;;;;;;;;;;;;;;;;;;;oCAA9lK,CAAC;;;;;;;;4BAA1M,SAAS;;;;;;;;yBAAwyB,OAAO;;;sBAAqU,CAAC;;gGAAsS,SAAS;;;;;;;;;;wBAA8gH,YAAY;yBAA4E,YAAY;;;oCAAuQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;mRADhyL,CAAC"}
|