@salutejs/plasma-new-hope 0.119.0-canary.1344.10283571405.0 → 0.119.0-canary.1347.10280706154.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/cjs/components/Accordion/Accordion.tokens.js +0 -1
  2. package/cjs/components/Accordion/Accordion.tokens.js.map +1 -1
  3. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +2 -2
  4. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.js +12 -3
  6. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  7. package/emotion/cjs/components/Accordion/Accordion.tokens.js +0 -1
  8. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +2 -2
  9. package/emotion/cjs/components/Autocomplete/Autocomplete.js +12 -3
  10. package/emotion/cjs/components/Autocomplete/Autocomplete.template-doc.mdx +561 -0
  11. package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +6 -6
  12. package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +8 -8
  13. package/emotion/es/components/Accordion/Accordion.tokens.js +0 -1
  14. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +2 -2
  15. package/emotion/es/components/Autocomplete/Autocomplete.js +12 -3
  16. package/emotion/es/components/Autocomplete/Autocomplete.template-doc.mdx +561 -0
  17. package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +6 -6
  18. package/emotion/es/examples/plasma_web/components/Accordion/Accordion.config.js +8 -8
  19. package/es/components/Accordion/Accordion.tokens.js +0 -1
  20. package/es/components/Accordion/Accordion.tokens.js.map +1 -1
  21. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +2 -2
  22. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  23. package/es/components/Autocomplete/Autocomplete.js +12 -3
  24. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  25. package/package.json +4 -4
  26. package/styled-components/cjs/components/Accordion/Accordion.tokens.js +0 -1
  27. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +2 -2
  28. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +12 -3
  29. package/styled-components/cjs/components/Autocomplete/Autocomplete.template-doc.mdx +561 -0
  30. package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +2 -2
  31. package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +2 -2
  32. package/styled-components/es/components/Accordion/Accordion.tokens.js +0 -1
  33. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +2 -2
  34. package/styled-components/es/components/Autocomplete/Autocomplete.js +12 -3
  35. package/styled-components/es/components/Autocomplete/Autocomplete.template-doc.mdx +561 -0
  36. package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +2 -2
  37. package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.config.js +2 -2
  38. package/types/components/Accordion/Accordion.tokens.d.ts +0 -1
  39. package/types/components/Accordion/Accordion.tokens.d.ts.map +1 -1
  40. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  41. package/types/components/Autocomplete/Autocomplete.types.d.ts +4 -0
  42. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  43. package/types/examples/plasma_b2c/components/Accordion/Accordion.config.d.ts.map +1 -1
  44. package/types/examples/plasma_web/components/Accordion/Accordion.config.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.styles.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { IconChevronDownFill, IconMinus } from '../../../_Icon';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { addFocus } from '../../../../mixins';\n\nexport const StyledAccordionItem = styled.div`\n background: var(${tokens.accordionItemBackground});\n border: var(${tokens.accordionItemBorder});\n border-bottom: var(${tokens.accordionItemBorderBottom});\n\n &:last-child {\n border-bottom: var(${tokens.accordionItemBorder});\n }\n\n &.${classes.accordionDisabled} {\n opacity: 0.4;\n cursor: not-allowed;\n }\n`;\n\nexport const StyledAccordionHeader = styled.button`\n width: 100%;\n border: none;\n padding: var(${tokens.accordionItemPadding});\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n background: none;\n box-sizing: border-box;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n\n ${addFocus({\n outlineOffset: '0.125rem',\n outlineSize: '0.125rem',\n outlineRadius: '0',\n outlineColor: `var(${tokens.accordionItemFocus})`,\n })}\n`;\n\nexport const StyledAccordionHeaderLeft = styled.div`\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const StyledAccordionContentRight = styled.div`\n transition: 0.2s;\n transform: rotate(90deg);\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledAccordionContentLeft = styled.div`\n transition: 0.2s;\n display: flex;\n align-items: center;\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(180deg);\n }\n`;\n\nexport const StyledAccordionTitle = styled.div`\n color: var(${tokens.accordionItemTitleColor});\n font-family: var(${tokens.accordionItemTitleFontFamily});\n font-size: var(${tokens.accordionItemTitleFontSize});\n font-weight: var(${tokens.accordionItemTitleFontWeight});\n font-style: var(${tokens.accordionItemTitleFontStyle});\n letter-spacing: var(${tokens.accordionItemTitleLetterSpacing});\n line-height: var(${tokens.accordionItemTitleLineHeight});\n text-align: left;\n`;\n\nexport const StyledAccordionBodyAnimate = styled.div`\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease-out;\n overflow: hidden;\n\n &.${classes.accordionItemShowBody} {\n grid-template-rows: 1fr;\n padding-bottom: var(${tokens.accordionItemPaddingVertical});\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n }\n`;\n\nexport const StyledAccordionBody = styled.div`\n color: var(${tokens.accordionItemTextColor});\n font-family: var(${tokens.accordionItemTextFontFamily});\n font-size: var(${tokens.accordionItemTextFontSize});\n font-weight: var(${tokens.accordionItemTextFontWeight});\n font-style: var(${tokens.accordionItemTextFontStyle});\n letter-spacing: var(${tokens.accordionItemTextLetterSpacing});\n line-height: var(${tokens.accordionItemTextLineHeight});\n overflow: hidden;\n padding-right: var(${tokens.accordionItemPaddingHorizontal});\n padding-left: var(${tokens.accordionItemPaddingHorizontalLeft});\n text-align: left;\n`;\n\nexport const StyledArrow = styled(IconChevronDownFill)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemIconColor});\n`;\n\nexport const StyledMinus = styled(IconMinus)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemIconColor});\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(90deg);\n }\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledPlus = styled.div`\n position: relative;\n height: 1rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n`;\n"],"names":["StyledAccordionItem","styled","div","withConfig","componentId","tokens","accordionItemBackground","accordionItemBorder","accordionItemBorderBottom","classes","accordionDisabled","StyledAccordionHeader","button","accordionItemPadding","accordionItemGap","addFocus","outlineOffset","outlineSize","outlineRadius","outlineColor","concat","accordionItemFocus","StyledAccordionHeaderLeft","StyledAccordionContentRight","accordionItemShowBody","StyledAccordionContentLeft","StyledAccordionTitle","accordionItemTitleColor","accordionItemTitleFontFamily","accordionItemTitleFontSize","accordionItemTitleFontWeight","accordionItemTitleFontStyle","accordionItemTitleLetterSpacing","accordionItemTitleLineHeight","StyledAccordionBodyAnimate","accordionItemPaddingVertical","accordionPlusAnimationElement","StyledAccordionBody","accordionItemTextColor","accordionItemTextFontFamily","accordionItemTextFontSize","accordionItemTextFontWeight","accordionItemTextFontStyle","accordionItemTextLetterSpacing","accordionItemTextLineHeight","accordionItemPaddingHorizontal","accordionItemPaddingHorizontalLeft","StyledArrow","IconChevronDownFill","accordionItemIconColor","StyledMinus","IconMinus","StyledPlus"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionItem.styles.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { IconChevronDownFill, IconMinus } from '../../../_Icon';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { addFocus } from '../../../../mixins';\n\nexport const StyledAccordionItem = styled.div`\n background: var(${tokens.accordionItemBackground});\n border: var(${tokens.accordionItemBorder});\n border-bottom: var(${tokens.accordionItemBorderBottom});\n\n &:last-child {\n border-bottom: var(${tokens.accordionItemBorder});\n }\n\n &.${classes.accordionDisabled} {\n opacity: 0.4;\n cursor: not-allowed;\n }\n`;\n\nexport const StyledAccordionHeader = styled.button`\n width: 100%;\n border: none;\n padding: var(${tokens.accordionItemPadding});\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n background: none;\n box-sizing: border-box;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n\n ${addFocus({\n outlineOffset: '0.125rem',\n outlineSize: '0.125rem',\n outlineRadius: '0',\n outlineColor: `var(${tokens.accordionItemFocus})`,\n })}\n`;\n\nexport const StyledAccordionHeaderLeft = styled.div`\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const StyledAccordionContentRight = styled.div`\n transition: 0.2s;\n transform: rotate(90deg);\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledAccordionContentLeft = styled.div`\n transition: 0.2s;\n display: flex;\n align-items: center;\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(180deg);\n }\n`;\n\nexport const StyledAccordionTitle = styled.div`\n color: var(${tokens.accordionItemTitleColor});\n font-family: var(${tokens.accordionItemTitleFontFamily});\n font-size: var(${tokens.accordionItemTitleFontSize});\n font-weight: var(${tokens.accordionItemTitleFontWeight});\n font-style: var(${tokens.accordionItemTitleFontStyle});\n letter-spacing: var(${tokens.accordionItemTitleLetterSpacing});\n line-height: var(${tokens.accordionItemTitleLineHeight});\n text-align: left;\n`;\n\nexport const StyledAccordionBodyAnimate = styled.div`\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease-out;\n overflow: hidden;\n\n &.${classes.accordionItemShowBody} {\n grid-template-rows: 1fr;\n padding-bottom: var(${tokens.accordionItemPaddingVertical});\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n }\n`;\n\nexport const StyledAccordionBody = styled.div`\n color: var(${tokens.accordionItemTextColor});\n font-family: var(${tokens.accordionItemTextFontFamily});\n font-size: var(${tokens.accordionItemTextFontSize});\n font-weight: var(${tokens.accordionItemTextFontWeight});\n font-style: var(${tokens.accordionItemTextFontStyle});\n letter-spacing: var(${tokens.accordionItemTextLetterSpacing});\n line-height: var(${tokens.accordionItemTextLineHeight});\n overflow: hidden;\n padding-right: var(${tokens.accordionItemPaddingHorizontal});\n padding-left: var(${tokens.accordionItemPaddingHorizontalLeft});\n text-align: left;\n`;\n\nexport const StyledArrow = styled(IconChevronDownFill)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemTextColor});\n`;\n\nexport const StyledMinus = styled(IconMinus)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemTextColor});\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(90deg);\n }\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledPlus = styled.div`\n position: relative;\n height: 1rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n`;\n"],"names":["StyledAccordionItem","styled","div","withConfig","componentId","tokens","accordionItemBackground","accordionItemBorder","accordionItemBorderBottom","classes","accordionDisabled","StyledAccordionHeader","button","accordionItemPadding","accordionItemGap","addFocus","outlineOffset","outlineSize","outlineRadius","outlineColor","concat","accordionItemFocus","StyledAccordionHeaderLeft","StyledAccordionContentRight","accordionItemShowBody","StyledAccordionContentLeft","StyledAccordionTitle","accordionItemTitleColor","accordionItemTitleFontFamily","accordionItemTitleFontSize","accordionItemTitleFontWeight","accordionItemTitleFontStyle","accordionItemTitleLetterSpacing","accordionItemTitleLineHeight","StyledAccordionBodyAnimate","accordionItemPaddingVertical","accordionPlusAnimationElement","StyledAccordionBody","accordionItemTextColor","accordionItemTextFontFamily","accordionItemTextFontSize","accordionItemTextFontWeight","accordionItemTextFontStyle","accordionItemTextLetterSpacing","accordionItemTextLineHeight","accordionItemPaddingHorizontal","accordionItemPaddingHorizontalLeft","StyledArrow","IconChevronDownFill","StyledMinus","IconMinus","StyledPlus"],"mappings":"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"}
@@ -11,7 +11,7 @@ import { SuggestionItem } from './ui/SuggestionItem/SuggestionItem.js';
11
11
  import { StyledPopover, Ul, InfiniteLoaderWrapper, LeftHelper, base } from './Autocomplete.styles.js';
12
12
  import { useKeyNavigation } from './hooks/useKeyboardNavigation.js';
13
13
 
14
- var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch"];
14
+ var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch"];
15
15
 
16
16
  /**
17
17
  * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.
@@ -35,6 +35,7 @@ var autocompleteRoot = function autocompleteRoot(Root) {
35
35
  onScroll = _ref.onScroll,
36
36
  listMaxHeight = _ref.listMaxHeight,
37
37
  listWidth = _ref.listWidth,
38
+ portal = _ref.portal,
38
39
  filter = _ref.filter,
39
40
  onSuggestionSelect = _ref.onSuggestionSelect,
40
41
  _ref$threshold = _ref.threshold,
@@ -115,6 +116,8 @@ var autocompleteRoot = function autocompleteRoot(Root) {
115
116
  offset: [0, 0],
116
117
  placement: getPlacements('bottom'),
117
118
  isFocusTrapped: false,
119
+ usePortal: Boolean(portal),
120
+ frame: portal,
118
121
  target: /*#__PURE__*/React.createElement(StyledTextField, _extends({
119
122
  value: value,
120
123
  onChange: handleChange,
@@ -142,7 +145,13 @@ var autocompleteRoot = function autocompleteRoot(Root) {
142
145
  preventOverflow: false,
143
146
  ref: targetRef,
144
147
  listWidth: listWidth
145
- }, renderList && renderList(finalResults) || Boolean(finalResults.length) && /*#__PURE__*/React.createElement(Ul, {
148
+ }, renderList && renderList(finalResults) || Boolean(finalResults.length) && /*#__PURE__*/React.createElement(Root, {
149
+ view: view,
150
+ size: size,
151
+ labelPlacement: labelPlacement,
152
+ disabled: disabled,
153
+ readOnly: readOnly
154
+ }, /*#__PURE__*/React.createElement(Ul, {
146
155
  id: listId,
147
156
  role: "listbox",
148
157
  "aria-label": label,
@@ -156,7 +165,7 @@ var autocompleteRoot = function autocompleteRoot(Root) {
156
165
  id: "".concat(listId, "/").concat(index),
157
166
  focused: focused === index
158
167
  });
159
- }), renderListEnd && /*#__PURE__*/React.createElement(InfiniteLoaderWrapper, null, renderListEnd()))), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
168
+ }), renderListEnd && /*#__PURE__*/React.createElement(InfiniteLoaderWrapper, null, renderListEnd())))), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
160
169
  id: helperTextId,
161
170
  disabled: disabled,
162
171
  readOnly: readOnly
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { useDidMountEffect, useOutsideClick } from '../../hooks';\nimport { RootProps } from '../../engines';\nimport { getPlacements } from '../../utils';\n\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField } from './ui';\nimport { StyledPopover, Ul, LeftHelper, base, InfiniteLoaderWrapper } 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, AutocompleteProps>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight,\n listWidth,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n onSearch,\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string | number>('');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue || innerValue;\n const helperTextId = safeUseId();\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n setIsOpen(false);\n });\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 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 view={view} size={size} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <StyledPopover\n isOpen={isOpen}\n offset={[0, 0]}\n placement={getPlacements('bottom')}\n isFocusTrapped={false}\n target={\n <StyledTextField\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n ref={ref}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\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 {...rest}\n />\n }\n preventOverflow={false}\n ref={targetRef}\n listWidth={listWidth}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Ul\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={onScroll}\n listMaxHeight={listMaxHeight}\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 />\n ))}\n\n {renderListEnd && <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>}\n </Ul>\n ))}\n </StyledPopover>\n\n {/* TODO: Дублируем хелпер для корректного позиционирования списка подсказок */}\n {leftHelper && (\n <LeftHelper id={helperTextId} disabled={disabled} readOnly={readOnly}>\n {leftHelper}\n </LeftHelper>\n )}\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","outerValue","value","onChange","suggestions","view","size","labelPlacement","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","listMaxHeight","listWidth","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","onSearch","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","StyledPopover","offset","placement","getPlacements","isFocusTrapped","StyledTextField","_extends","undefined","onFocus","role","concat","preventOverflow","Boolean","Ul","id","map","suggestion","index","SuggestionItem","key","item","onClick","InfiniteLoaderWrapper","LeftHelper","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 } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { useDidMountEffect, useOutsideClick } from '../../hooks';\nimport { RootProps } from '../../engines';\nimport { getPlacements } from '../../utils';\n\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField } from './ui';\nimport { StyledPopover, Ul, LeftHelper, base, InfiniteLoaderWrapper } 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, AutocompleteProps>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight,\n listWidth,\n portal,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n onSearch,\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string | number>('');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue || innerValue;\n const helperTextId = safeUseId();\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n setIsOpen(false);\n });\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 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 view={view} size={size} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <StyledPopover\n isOpen={isOpen}\n offset={[0, 0]}\n placement={getPlacements('bottom')}\n isFocusTrapped={false}\n usePortal={Boolean(portal)}\n frame={portal}\n target={\n <StyledTextField\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n ref={ref}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\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 {...rest}\n />\n }\n preventOverflow={false}\n ref={targetRef}\n listWidth={listWidth}\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 <Ul\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={onScroll}\n listMaxHeight={listMaxHeight}\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 />\n ))}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </Root>\n ))}\n </StyledPopover>\n\n {/* TODO: Дублируем хелпер для корректного позиционирования списка подсказок */}\n {leftHelper && (\n <LeftHelper id={helperTextId} disabled={disabled} readOnly={readOnly}>\n {leftHelper}\n </LeftHelper>\n )}\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","outerValue","value","onChange","suggestions","view","size","labelPlacement","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","listMaxHeight","listWidth","portal","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","onSearch","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","StyledPopover","offset","placement","getPlacements","isFocusTrapped","usePortal","Boolean","frame","StyledTextField","_extends","undefined","onFocus","role","concat","preventOverflow","Ul","id","map","suggestion","index","SuggestionItem","key","item","onClick","InfiniteLoaderWrapper","LeftHelper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"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.119.0-canary.1344.10283571405.0",
3
+ "version": "0.119.0-canary.1347.10280706154.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -80,7 +80,7 @@
80
80
  "@rollup/plugin-babel": "^6.0.4",
81
81
  "@rollup/plugin-commonjs": "^25.0.4",
82
82
  "@rollup/plugin-node-resolve": "^15.1.0",
83
- "@salutejs/plasma-sb-utils": "0.164.0-canary.1344.10283571405.0",
83
+ "@salutejs/plasma-sb-utils": "0.163.0-dev.0",
84
84
  "@storybook/addon-docs": "^7.6.17",
85
85
  "@storybook/addon-essentials": "^7.6.17",
86
86
  "@storybook/addons": "^7.6.17",
@@ -110,7 +110,7 @@
110
110
  "@linaria/core": "5.0.2",
111
111
  "@linaria/react": "5.0.3",
112
112
  "@popperjs/core": "2.11.8",
113
- "@salutejs/plasma-core": "1.166.0-canary.1344.10283571405.0",
113
+ "@salutejs/plasma-core": "1.165.0-dev.0",
114
114
  "dayjs": "1.11.11",
115
115
  "focus-visible": "5.2.0",
116
116
  "lodash.throttle": "4.1.1",
@@ -118,5 +118,5 @@
118
118
  "react-popper": "2.3.0",
119
119
  "storeon": "3.1.5"
120
120
  },
121
- "gitHead": "d3388cf0587865c894b0aa4c627a6ab44300970a"
121
+ "gitHead": "68e88c81e7676c4c81d3f4853970201faf7487b9"
122
122
  }
@@ -29,7 +29,6 @@ var tokens = exports.tokens = {
29
29
  accordionItemFocus: '--plasma-accordion-item-focus',
30
30
  accordionItemBorder: '--plasma-accordion-item-border',
31
31
  accordionItemBorderBottom: '--plasma-accordion-item-border-bottom',
32
- accordionItemIconColor: '--plasma-accordion-item-color-icon',
33
32
  accordionItemTitleColor: '--plasma-accordion-item-title-color',
34
33
  accordionItemTitleFontFamily: '--plasma-accordion-item-title-font-family',
35
34
  accordionItemTitleFontSize: '--plasma-accordion-item-title-font-size',
@@ -40,10 +40,10 @@ var StyledAccordionBody = exports.StyledAccordionBody = /*#__PURE__*/_styledComp
40
40
  })(["color:var(", ");font-family:var(", ");font-size:var(", ");font-weight:var(", ");font-style:var(", ");letter-spacing:var(", ");line-height:var(", ");overflow:hidden;padding-right:var(", ");padding-left:var(", ");text-align:left;"], _Accordion.tokens.accordionItemTextColor, _Accordion.tokens.accordionItemTextFontFamily, _Accordion.tokens.accordionItemTextFontSize, _Accordion.tokens.accordionItemTextFontWeight, _Accordion.tokens.accordionItemTextFontStyle, _Accordion.tokens.accordionItemTextLetterSpacing, _Accordion.tokens.accordionItemTextLineHeight, _Accordion.tokens.accordionItemPaddingHorizontal, _Accordion.tokens.accordionItemPaddingHorizontalLeft);
41
41
  var StyledArrow = exports.StyledArrow = /*#__PURE__*/(0, _styledComponents["default"])(_Icon.IconChevronDownFill).withConfig({
42
42
  componentId: "plasma-new-hope__sc-20ij9z-8"
43
- })(["pointer-events:none;user-select:none;color:var(", ");"], _Accordion.tokens.accordionItemIconColor);
43
+ })(["pointer-events:none;user-select:none;color:var(", ");"], _Accordion.tokens.accordionItemTextColor);
44
44
  var StyledMinus = exports.StyledMinus = /*#__PURE__*/(0, _styledComponents["default"])(_Icon.IconMinus).withConfig({
45
45
  componentId: "plasma-new-hope__sc-20ij9z-9"
46
- })(["pointer-events:none;user-select:none;color:var(", ");display:flex;align-items:center;position:absolute;top:0;left:0;&.", "{transition:0.2s;transform:rotate(90deg);}&.", "{transition:0.2s;transform:rotate(0deg);}"], _Accordion.tokens.accordionItemIconColor, _Accordion.classes.accordionPlusAnimationElement, _Accordion.classes.accordionItemShowBody);
46
+ })(["pointer-events:none;user-select:none;color:var(", ");display:flex;align-items:center;position:absolute;top:0;left:0;&.", "{transition:0.2s;transform:rotate(90deg);}&.", "{transition:0.2s;transform:rotate(0deg);}"], _Accordion.tokens.accordionItemTextColor, _Accordion.classes.accordionPlusAnimationElement, _Accordion.classes.accordionItemShowBody);
47
47
  var StyledPlus = exports.StyledPlus = /*#__PURE__*/_styledComponents["default"].div.withConfig({
48
48
  componentId: "plasma-new-hope__sc-20ij9z-10"
49
49
  })(["position:relative;height:1rem;display:flex;align-items:center;justify-content:center;width:1rem;"]);
@@ -13,7 +13,7 @@ var _focusedReducer = /*#__PURE__*/require("./reducers/focusedReducer");
13
13
  var _ui = /*#__PURE__*/require("./ui");
14
14
  var _Autocomplete = /*#__PURE__*/require("./Autocomplete.styles");
15
15
  var _useKeyboardNavigation = /*#__PURE__*/require("./hooks/useKeyboardNavigation");
16
- var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch"];
16
+ var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch"];
17
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
19
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -47,6 +47,7 @@ var autocompleteRoot = exports.autocompleteRoot = function autocompleteRoot(Root
47
47
  onScroll = _ref.onScroll,
48
48
  listMaxHeight = _ref.listMaxHeight,
49
49
  listWidth = _ref.listWidth,
50
+ portal = _ref.portal,
50
51
  filter = _ref.filter,
51
52
  onSuggestionSelect = _ref.onSuggestionSelect,
52
53
  _ref$threshold = _ref.threshold,
@@ -127,6 +128,8 @@ var autocompleteRoot = exports.autocompleteRoot = function autocompleteRoot(Root
127
128
  offset: [0, 0],
128
129
  placement: (0, _utils.getPlacements)('bottom'),
129
130
  isFocusTrapped: false,
131
+ usePortal: Boolean(portal),
132
+ frame: portal,
130
133
  target: /*#__PURE__*/_react["default"].createElement(_ui.StyledTextField, _extends({
131
134
  value: value,
132
135
  onChange: handleChange,
@@ -154,7 +157,13 @@ var autocompleteRoot = exports.autocompleteRoot = function autocompleteRoot(Root
154
157
  preventOverflow: false,
155
158
  ref: targetRef,
156
159
  listWidth: listWidth
157
- }, renderList && renderList(finalResults) || Boolean(finalResults.length) && /*#__PURE__*/_react["default"].createElement(_Autocomplete.Ul, {
160
+ }, renderList && renderList(finalResults) || Boolean(finalResults.length) && /*#__PURE__*/_react["default"].createElement(Root, {
161
+ view: view,
162
+ size: size,
163
+ labelPlacement: labelPlacement,
164
+ disabled: disabled,
165
+ readOnly: readOnly
166
+ }, /*#__PURE__*/_react["default"].createElement(_Autocomplete.Ul, {
158
167
  id: listId,
159
168
  role: "listbox",
160
169
  "aria-label": label,
@@ -168,7 +177,7 @@ var autocompleteRoot = exports.autocompleteRoot = function autocompleteRoot(Root
168
177
  id: "".concat(listId, "/").concat(index),
169
178
  focused: focused === index
170
179
  });
171
- }), renderListEnd && /*#__PURE__*/_react["default"].createElement(_Autocomplete.InfiniteLoaderWrapper, null, renderListEnd()))), leftHelper && /*#__PURE__*/_react["default"].createElement(_Autocomplete.LeftHelper, {
180
+ }), renderListEnd && /*#__PURE__*/_react["default"].createElement(_Autocomplete.InfiniteLoaderWrapper, null, renderListEnd())))), leftHelper && /*#__PURE__*/_react["default"].createElement(_Autocomplete.LeftHelper, {
172
181
  id: helperTextId,
173
182
  disabled: disabled,
174
183
  readOnly: readOnly