@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.
Files changed (24) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +4 -1
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Autocomplete/FloatingPopover.js +5 -4
  4. package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
  5. package/emotion/cjs/components/Autocomplete/Autocomplete.js +3 -1
  6. package/emotion/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  7. package/emotion/es/components/Autocomplete/Autocomplete.js +3 -1
  8. package/emotion/es/components/Autocomplete/FloatingPopover.js +31 -4
  9. package/es/components/Autocomplete/Autocomplete.js +4 -1
  10. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  11. package/es/components/Autocomplete/FloatingPopover.js +6 -5
  12. package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
  13. package/package.json +4 -4
  14. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +3 -1
  15. package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +31 -4
  16. package/styled-components/cjs/examples/components/Combobox/Combobox.js +0 -15
  17. package/styled-components/es/components/Autocomplete/Autocomplete.js +3 -1
  18. package/styled-components/es/components/Autocomplete/FloatingPopover.js +31 -4
  19. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  20. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  21. package/types/components/Autocomplete/Autocomplete.types.d.ts +6 -0
  22. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  23. package/types/examples/components/Autocomplete/Autocomplete.d.ts +8 -0
  24. 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":"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"}
@@ -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
- }), react.flip({
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","flip","fallbackAxisSideDirection","shift","size","apply","_ref2","rects","elements","Object","assign","floating","style","width","concat","reference","refs","floatingStyles","wrappedId","safeUseId","isTargetAsFunction","React","createElement","id","position","undefined","setReference","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":"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"}
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
- }), flip({
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","flip","fallbackAxisSideDirection","shift","size","apply","_ref2","rects","elements","Object","assign","floating","style","width","concat","reference","refs","floatingStyles","wrappedId","safeUseId","isTargetAsFunction","React","createElement","id","position","undefined","setReference","FloatingPortal","getFloatingPortalProps","setFloating","_objectSpread","root"],"mappings":"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"}
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.2198.17378237458.0",
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.2198.17378237458.0",
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.2198.17378237458.0",
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": "ced807ae4876e586c95b3547105bbab55ecb55bd"
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,+FAkOlG,CAAC;AAEN,eAAO,MAAM,kBAAkB;;;mBApOQ,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;;;;;;;;;;;;CAmPtG,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":"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"}
1
+ {"version":3,"file":"Autocomplete.types.d.ts","sourceRoot":"","sources":["../../../src/components/Autocomplete/Autocomplete.types.ts"],"names":[],"mappings":"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"}
@@ -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;;;;;;;;;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"}
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"}