@salutejs/plasma-new-hope 0.88.0-canary.1233.9437372350.0 → 0.88.0-canary.1233.9439608380.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +0 -1
  2. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js.map +1 -1
  3. package/cjs/components/Select/Select.js +6 -4
  4. package/cjs/components/Select/Select.js.map +1 -1
  5. package/cjs/components/Select/hooks/useKeyboardNavigation.js +9 -0
  6. package/cjs/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  7. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +0 -1
  8. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js.map +1 -1
  9. package/es/components/Select/Select.js +6 -4
  10. package/es/components/Select/Select.js.map +1 -1
  11. package/es/components/Select/hooks/useKeyboardNavigation.js +9 -0
  12. package/es/components/Select/hooks/useKeyboardNavigation.js.map +1 -1
  13. package/package.json +2 -2
  14. package/styled-components/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +0 -1
  15. package/styled-components/cjs/components/Select/Select.js +6 -4
  16. package/styled-components/cjs/components/Select/hooks/useKeyboardNavigation.js +9 -0
  17. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.config.js +1 -0
  18. package/styled-components/cjs/examples/plasma_b2c/components/Select/Select.stories.tsx +20 -48
  19. package/styled-components/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.js +0 -1
  20. package/styled-components/es/components/Select/Select.js +6 -4
  21. package/styled-components/es/components/Select/hooks/useKeyboardNavigation.js +9 -0
  22. package/styled-components/es/examples/plasma_b2c/components/Select/Select.config.js +1 -0
  23. package/styled-components/es/examples/plasma_b2c/components/Select/Select.stories.tsx +20 -48
  24. package/types/components/Dropdown/Dropdown.types.d.ts +5 -9
  25. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  26. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +4 -96
  27. package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
  28. package/types/components/Select/Select.d.ts +1 -0
  29. package/types/components/Select/Select.d.ts.map +1 -1
  30. package/types/components/Select/Select.types.d.ts +2 -4
  31. package/types/components/Select/Select.types.d.ts.map +1 -1
  32. package/types/components/Select/hooks/useKeyboardNavigation.d.ts.map +1 -1
  33. package/types/examples/plasma_b2c/components/Select/Select.config.d.ts +1 -0
  34. package/types/examples/plasma_b2c/components/Select/Select.config.d.ts.map +1 -1
  35. package/types/examples/plasma_b2c/components/Select/Select.d.ts +4 -96
  36. package/types/examples/plasma_b2c/components/Select/Select.d.ts.map +1 -1
@@ -31,7 +31,6 @@ var PaginationSelectPerPage = function PaginationSelectPerPage(_ref) {
31
31
  value: num.toString()
32
32
  };
33
33
  });
34
- console.log('listWidth', listWidth);
35
34
  return /*#__PURE__*/React.createElement(PaginationSelectPerPage_styles.SelectPerPageRoot, rest, /*#__PURE__*/React.createElement(PaginationSelectPerPage_styles.SelectPerPageTypography, null, textPerPage), /*#__PURE__*/React.createElement(PaginationSelectPerPage_styles.SelectPerPageSelect, {
36
35
  className: Pagination_tokens.classes.selectWrapper,
37
36
  items: transformedList,
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationSelectPerPage.js","sources":["../../../../../src/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.tsx"],"sourcesContent":["import React from 'react';\n\nimport { defaultValues } from '../../utils';\nimport { classes } from '../../Pagination.tokens';\n\nimport type { PaginationSelectPerPageProps } from './PaginationSelectPerPage.types';\nimport { SelectPerPageRoot, SelectPerPageTypography, SelectPerPageSelect } from './PaginationSelectPerPage.styles';\n\nexport const PaginationSelectPerPage: React.FC<PaginationSelectPerPageProps> = ({\n perPageValue = defaultValues.perPage,\n perPageList = defaultValues.perPageList,\n textPerPage = defaultValues.textPerPage,\n onChangeValue,\n size,\n listWidth,\n ...rest\n}) => {\n const handleSelectChange = (newValue?: string) => {\n if (newValue) {\n onChangeValue?.(Number(newValue));\n }\n };\n\n const transformedList = perPageList.map((num) => ({ label: num.toString(), value: num.toString() }));\n console.log('listWidth', listWidth);\n return (\n <SelectPerPageRoot {...rest}>\n <SelectPerPageTypography>{textPerPage}</SelectPerPageTypography>\n\n <SelectPerPageSelect\n className={classes.selectWrapper}\n items={transformedList}\n value={perPageValue.toString()}\n onChange={handleSelectChange}\n target=\"button\"\n size={size}\n listWidth={listWidth}\n />\n </SelectPerPageRoot>\n );\n};\n"],"names":["PaginationSelectPerPage","_ref","_ref$perPageValue","perPageValue","defaultValues","perPage","_ref$perPageList","perPageList","_ref$textPerPage","textPerPage","onChangeValue","size","listWidth","rest","_objectWithoutProperties","_excluded","handleSelectChange","newValue","Number","transformedList","map","num","label","toString","value","console","log","React","createElement","SelectPerPageRoot","SelectPerPageTypography","SelectPerPageSelect","className","classes","selectWrapper","items","onChange","target"],"mappings":";;;;;;;;;;;IAQaA,uBAA+D,GAAG,SAAlEA,uBAA+DA,CAAAC,IAAA,EAQtE;AAAA,EAAA,IAAAC,iBAAA,GAAAD,IAAA,CAPFE,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAGE,mBAAa,CAACC,OAAO,GAAAH,iBAAA;IAAAI,gBAAA,GAAAL,IAAA,CACpCM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAGF,mBAAa,CAACG,WAAW,GAAAD,gBAAA;IAAAE,gBAAA,GAAAP,IAAA,CACvCQ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAGJ,mBAAa,CAACK,WAAW,GAAAD,gBAAA;IACvCE,aAAa,GAAAT,IAAA,CAAbS,aAAa;IACbC,IAAI,GAAAV,IAAA,CAAJU,IAAI;IACJC,SAAS,GAAAX,IAAA,CAATW,SAAS;AACNC,IAAAA,IAAI,GAAAC,iDAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;AAEP,EAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,QAAiB,EAAK;AAC9C,IAAA,IAAIA,QAAQ,EAAE;MACVP,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,IAAAA,aAAa,CAAGQ,MAAM,CAACD,QAAQ,CAAC,CAAC,CAAA;AACrC,KAAA;GACH,CAAA;AAED,EAAA,IAAME,eAAe,GAAGZ,WAAW,CAACa,GAAG,CAAC,UAACC,GAAG,EAAA;IAAA,OAAM;AAAEC,MAAAA,KAAK,EAAED,GAAG,CAACE,QAAQ,EAAE;AAAEC,MAAAA,KAAK,EAAEH,GAAG,CAACE,QAAQ,EAAC;KAAG,CAAA;AAAA,GAAC,CAAC,CAAA;AACpGE,EAAAA,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEd,SAAS,CAAC,CAAA;EACnC,oBACIe,KAAA,CAAAC,aAAA,CAACC,gDAAiB,EAAKhB,IAAI,eACvBc,KAAA,CAAAC,aAAA,CAACE,sDAAuB,QAAErB,WAAqC,CAAC,eAEhEkB,KAAA,CAAAC,aAAA,CAACG,kDAAmB,EAAA;IAChBC,SAAS,EAAEC,yBAAO,CAACC,aAAc;AACjCC,IAAAA,KAAK,EAAEhB,eAAgB;AACvBK,IAAAA,KAAK,EAAErB,YAAY,CAACoB,QAAQ,EAAG;AAC/Ba,IAAAA,QAAQ,EAAEpB,kBAAmB;AAC7BqB,IAAAA,MAAM,EAAC,QAAQ;AACf1B,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GACxB,CACc,CAAC,CAAA;AAE5B;;;;"}
1
+ {"version":3,"file":"PaginationSelectPerPage.js","sources":["../../../../../src/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.tsx"],"sourcesContent":["import React from 'react';\n\nimport { defaultValues } from '../../utils';\nimport { classes } from '../../Pagination.tokens';\n\nimport type { PaginationSelectPerPageProps } from './PaginationSelectPerPage.types';\nimport { SelectPerPageRoot, SelectPerPageTypography, SelectPerPageSelect } from './PaginationSelectPerPage.styles';\n\nexport const PaginationSelectPerPage: React.FC<PaginationSelectPerPageProps> = ({\n perPageValue = defaultValues.perPage,\n perPageList = defaultValues.perPageList,\n textPerPage = defaultValues.textPerPage,\n onChangeValue,\n size,\n listWidth,\n ...rest\n}) => {\n const handleSelectChange = (newValue?: string) => {\n if (newValue) {\n onChangeValue?.(Number(newValue));\n }\n };\n\n const transformedList = perPageList.map((num) => ({ label: num.toString(), value: num.toString() }));\n\n return (\n <SelectPerPageRoot {...rest}>\n <SelectPerPageTypography>{textPerPage}</SelectPerPageTypography>\n\n <SelectPerPageSelect\n className={classes.selectWrapper}\n items={transformedList}\n value={perPageValue.toString()}\n onChange={handleSelectChange}\n target=\"button\"\n size={size}\n listWidth={listWidth}\n />\n </SelectPerPageRoot>\n );\n};\n"],"names":["PaginationSelectPerPage","_ref","_ref$perPageValue","perPageValue","defaultValues","perPage","_ref$perPageList","perPageList","_ref$textPerPage","textPerPage","onChangeValue","size","listWidth","rest","_objectWithoutProperties","_excluded","handleSelectChange","newValue","Number","transformedList","map","num","label","toString","value","React","createElement","SelectPerPageRoot","SelectPerPageTypography","SelectPerPageSelect","className","classes","selectWrapper","items","onChange","target"],"mappings":";;;;;;;;;;;IAQaA,uBAA+D,GAAG,SAAlEA,uBAA+DA,CAAAC,IAAA,EAQtE;AAAA,EAAA,IAAAC,iBAAA,GAAAD,IAAA,CAPFE,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAGE,mBAAa,CAACC,OAAO,GAAAH,iBAAA;IAAAI,gBAAA,GAAAL,IAAA,CACpCM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAGF,mBAAa,CAACG,WAAW,GAAAD,gBAAA;IAAAE,gBAAA,GAAAP,IAAA,CACvCQ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAGJ,mBAAa,CAACK,WAAW,GAAAD,gBAAA;IACvCE,aAAa,GAAAT,IAAA,CAAbS,aAAa;IACbC,IAAI,GAAAV,IAAA,CAAJU,IAAI;IACJC,SAAS,GAAAX,IAAA,CAATW,SAAS;AACNC,IAAAA,IAAI,GAAAC,iDAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;AAEP,EAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,QAAiB,EAAK;AAC9C,IAAA,IAAIA,QAAQ,EAAE;MACVP,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,IAAAA,aAAa,CAAGQ,MAAM,CAACD,QAAQ,CAAC,CAAC,CAAA;AACrC,KAAA;GACH,CAAA;AAED,EAAA,IAAME,eAAe,GAAGZ,WAAW,CAACa,GAAG,CAAC,UAACC,GAAG,EAAA;IAAA,OAAM;AAAEC,MAAAA,KAAK,EAAED,GAAG,CAACE,QAAQ,EAAE;AAAEC,MAAAA,KAAK,EAAEH,GAAG,CAACE,QAAQ,EAAC;KAAG,CAAA;AAAA,GAAC,CAAC,CAAA;EAEpG,oBACIE,KAAA,CAAAC,aAAA,CAACC,gDAAiB,EAAKd,IAAI,eACvBY,KAAA,CAAAC,aAAA,CAACE,sDAAuB,QAAEnB,WAAqC,CAAC,eAEhEgB,KAAA,CAAAC,aAAA,CAACG,kDAAmB,EAAA;IAChBC,SAAS,EAAEC,yBAAO,CAACC,aAAc;AACjCC,IAAAA,KAAK,EAAEd,eAAgB;AACvBK,IAAAA,KAAK,EAAErB,YAAY,CAACoB,QAAQ,EAAG;AAC/BW,IAAAA,QAAQ,EAAElB,kBAAmB;AAC7BmB,IAAAA,MAAM,EAAC,QAAQ;AACfxB,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GACxB,CACc,CAAC,CAAA;AAE5B;;;;"}
@@ -25,7 +25,6 @@ var Select_styles = require('./Select.styles.js');
25
25
  var base = require('./variations/_view/base.js');
26
26
  var base$1 = require('./variations/_size/base.js');
27
27
 
28
- var _SelectNotFoundConten;
29
28
  var _excluded = ["value", "onChange", "target", "separator", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "isTargetAmount", "disabled", "view", "size", "isOpen", "listOverflow", "listHeight", "listWidth", "status", "contentLeft", "onScrollBottom", "isInfiniteLoading", "notFoundContent", "chipView", "variant", "portal", "renderValue"];
30
29
  var Context = /*#__PURE__*/React.createContext({});
31
30
 
@@ -256,9 +255,11 @@ var selectRoot = function selectRoot(Root) {
256
255
  }),
257
256
  preventOverflow: false,
258
257
  closeOnOverlayClick: true
259
- }, isEmpty.isEmpty(items) ? notFoundContent || _SelectNotFoundConten || (_SelectNotFoundConten = /*#__PURE__*/React.createElement(SelectNotFoundContent.SelectNotFoundContent, {
260
- description: "\u0414\u043E\u0434\u0435\u043B\u0430\u0442\u044C"
261
- })) : /*#__PURE__*/React.createElement(Select_styles.Ul, {
258
+ }, isEmpty.isEmpty(items) ? notFoundContent || /*#__PURE__*/React.createElement(SelectNotFoundContent.SelectNotFoundContent, {
259
+ description: "\u0414\u043E\u0434\u0435\u043B\u0430\u0442\u044C",
260
+ buttonAction: function buttonAction() {},
261
+ buttonText: "Label"
262
+ }) : /*#__PURE__*/React.createElement(Select_styles.Ul, {
262
263
  role: "tree",
263
264
  id: "tree_level_1",
264
265
  listHeight: listHeight,
@@ -293,6 +294,7 @@ var selectConfig = {
293
294
  },
294
295
  defaults: {
295
296
  view: 'default',
297
+ chipView: 'default',
296
298
  size: 'm'
297
299
  }
298
300
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\nimport { getPlacements } from '../Dropdown/utils';\n\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner } from './elements/Inner/Inner';\nimport { SelectNotFoundContent } from './elements/SelectNotFoundContent/SelectNotFoundContent';\nimport { Target } from './elements/Target/Target';\nimport { pathReducer, focusedPathReducer, focusedChipIndexReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { StyledPopover, Ul, base, OuterLabel, HelperText } from './Select.styles';\nimport type { SelectProps, ItemContext } from './Select.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './elements/Inner/elements/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, SelectProps>) =>\n forwardRef<HTMLButtonElement, SelectProps>((props, ref) => {\n const {\n value,\n onChange,\n target = 'textfield',\n separator,\n items,\n placement = 'bottom',\n label,\n labelPlacement = 'outer',\n placeholder,\n helperText,\n isTargetAmount = false,\n disabled = false,\n view,\n size,\n isOpen,\n listOverflow,\n listHeight,\n listWidth,\n status,\n contentLeft,\n onScrollBottom,\n isInfiniteLoading,\n notFoundContent,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n ...rest\n } = props;\n\n const multiselect = Array.isArray(value);\n\n const transformedItems = useMemo(() => initialItemsTransform(items), [items]);\n\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [focusedChipIndex, dispatchFocusedChipIndex] = useReducer(focusedChipIndexReducer, null);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const targetRef = useOutsideClick(() => {\n if (focusedChipIndex != null) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n });\n\n const handleToggle = (opened: boolean) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n };\n\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value.toString())) {\n checkedCopy.set(item.value.toString(), true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value.toString(), false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value.toString());\n }\n });\n\n onChange(newValues as any);\n };\n\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item?.items)) {\n if (multiselect) {\n handleCheckboxChange(item);\n } else {\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n onChange((isCurrentChecked ? '' : item.value) as any);\n }\n }\n };\n\n const handleChipClick = (currentValue: string) => {\n handleCheckboxChange(valueToItemMap.get(currentValue)!);\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n value,\n valueToItemMap,\n multiselect,\n isTargetAmount,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\n // В данном эффекте мы следим за изменениями value и вносим коррективы в дерево чекбоксов.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (multiselect && Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value as string, 'done');\n updateSingleAncestors(valueToItemMap.get(value as string)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root\n ref={ref}\n size={size}\n view={getView(view, status)}\n chipView={chipView}\n items={items}\n {...(rest as any)}\n >\n {label && labelPlacement === 'outer' && target !== 'button' && <OuterLabel>{label}</OuterLabel>}\n\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n }}\n >\n <StyledPopover\n ref={targetRef}\n isOpen={isCurrentListOpen}\n placement={getPlacements(placement)}\n usePortal={Boolean(portal)}\n frame={portal}\n onToggle={handleToggle}\n trigger=\"click\"\n target={\n <Target\n opened={isCurrentListOpen}\n target={target}\n value={value}\n isTargetAmount={isTargetAmount}\n multiselect={multiselect}\n valueToItemMap={valueToItemMap}\n focusedPath={focusedPath}\n focusedToValueMap={focusedToValueMap}\n onChipClick={handleChipClick}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n focusedChipIndex={focusedChipIndex}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n renderValue={renderValue}\n />\n }\n preventOverflow={false}\n closeOnOverlayClick\n >\n {isEmpty(items) ? (\n notFoundContent || <SelectNotFoundContent description=\"Доделать\" />\n ) : (\n <Ul\n role=\"tree\"\n id=\"tree_level_1\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n >\n {transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n )}\n </StyledPopover>\n </Context.Provider>\n\n {helperText && target === 'textfield' && <HelperText>{helperText}</HelperText>}\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","selectRoot","Root","forwardRef","props","ref","value","onChange","_props$target","target","items","_props$placement","placement","label","_props$labelPlacement","labelPlacement","placeholder","helperText","_props$isTargetAmount","isTargetAmount","_props$disabled","disabled","view","size","listOverflow","listHeight","listWidth","status","contentLeft","onScrollBottom","notFoundContent","chipView","_props$variant","variant","portal","renderValue","rest","_objectWithoutProperties","_excluded","multiselect","Array","isArray","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useReducer5","focusedChipIndexReducer","_useReducer6","focusedChipIndex","dispatchFocusedChipIndex","_useState","useState","_useState2","checked","setChecked","targetRef","useOutsideClick","type","handleToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","toString","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","_","updateSingleAncestors","handleChipClick","currentValue","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","useLayoutEffect","val","React","createElement","_extends","getView","OuterLabel","Provider","StyledPopover","isOpen","getPlacements","usePortal","frame","onToggle","trigger","Target","onChipClick","preventOverflow","closeOnOverlayClick","_SelectNotFoundConten","SelectNotFoundContent","description","Ul","role","id","onScroll","map","index","Inner","concat","currentLevel","HelperText","selectConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\nimport { getPlacements } from '../Dropdown/utils';\n\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner } from './elements/Inner/Inner';\nimport { SelectNotFoundContent } from './elements/SelectNotFoundContent/SelectNotFoundContent';\nimport { Target } from './elements/Target/Target';\nimport { pathReducer, focusedPathReducer, focusedChipIndexReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { StyledPopover, Ul, base, OuterLabel, HelperText } from './Select.styles';\nimport type { SelectProps, ItemContext } from './Select.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './elements/Inner/elements/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, SelectProps>) =>\n forwardRef<HTMLButtonElement, SelectProps>((props, ref) => {\n const {\n value,\n onChange,\n target = 'textfield',\n separator,\n items,\n placement = 'bottom',\n label,\n labelPlacement = 'outer',\n placeholder,\n helperText,\n isTargetAmount = false,\n disabled = false,\n view,\n size,\n isOpen,\n listOverflow,\n listHeight,\n listWidth,\n status,\n contentLeft,\n onScrollBottom,\n isInfiniteLoading,\n notFoundContent,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n ...rest\n } = props;\n\n const multiselect = Array.isArray(value);\n\n const transformedItems = useMemo(() => initialItemsTransform(items), [items]);\n\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [focusedChipIndex, dispatchFocusedChipIndex] = useReducer(focusedChipIndexReducer, null);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const targetRef = useOutsideClick(() => {\n if (focusedChipIndex != null) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n });\n\n const handleToggle = (opened: boolean) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n };\n\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value.toString())) {\n checkedCopy.set(item.value.toString(), true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value.toString(), false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value.toString());\n }\n });\n\n onChange(newValues as any);\n };\n\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item?.items)) {\n if (multiselect) {\n handleCheckboxChange(item);\n } else {\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n onChange((isCurrentChecked ? '' : item.value) as any);\n }\n }\n };\n\n const handleChipClick = (currentValue: string) => {\n handleCheckboxChange(valueToItemMap.get(currentValue)!);\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n value,\n valueToItemMap,\n multiselect,\n isTargetAmount,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\n // В данном эффекте мы следим за изменениями value и вносим коррективы в дерево чекбоксов.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (multiselect && Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value as string, 'done');\n updateSingleAncestors(valueToItemMap.get(value as string)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root\n ref={ref}\n size={size}\n view={getView(view, status)}\n chipView={chipView}\n items={items}\n {...(rest as any)}\n >\n {label && labelPlacement === 'outer' && target !== 'button' && <OuterLabel>{label}</OuterLabel>}\n\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n }}\n >\n <StyledPopover\n ref={targetRef}\n isOpen={isCurrentListOpen}\n placement={getPlacements(placement)}\n usePortal={Boolean(portal)}\n frame={portal}\n onToggle={handleToggle}\n trigger=\"click\"\n target={\n <Target\n opened={isCurrentListOpen}\n target={target}\n value={value}\n isTargetAmount={isTargetAmount}\n multiselect={multiselect}\n valueToItemMap={valueToItemMap}\n focusedPath={focusedPath}\n focusedToValueMap={focusedToValueMap}\n onChipClick={handleChipClick}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n focusedChipIndex={focusedChipIndex}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n renderValue={renderValue}\n />\n }\n preventOverflow={false}\n closeOnOverlayClick\n >\n {isEmpty(items) ? (\n notFoundContent || (\n <SelectNotFoundContent\n description=\"Доделать\"\n buttonAction={() => {}}\n buttonText=\"Label\"\n />\n )\n ) : (\n <Ul\n role=\"tree\"\n id=\"tree_level_1\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n >\n {transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n )}\n </StyledPopover>\n </Context.Provider>\n\n {helperText && target === 'textfield' && <HelperText>{helperText}</HelperText>}\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n chipView: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","selectRoot","Root","forwardRef","props","ref","value","onChange","_props$target","target","items","_props$placement","placement","label","_props$labelPlacement","labelPlacement","placeholder","helperText","_props$isTargetAmount","isTargetAmount","_props$disabled","disabled","view","size","listOverflow","listHeight","listWidth","status","contentLeft","onScrollBottom","notFoundContent","chipView","_props$variant","variant","portal","renderValue","rest","_objectWithoutProperties","_excluded","multiselect","Array","isArray","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useReducer5","focusedChipIndexReducer","_useReducer6","focusedChipIndex","dispatchFocusedChipIndex","_useState","useState","_useState2","checked","setChecked","targetRef","useOutsideClick","type","handleToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","toString","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","_","updateSingleAncestors","handleChipClick","currentValue","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","useLayoutEffect","val","React","createElement","_extends","getView","OuterLabel","Provider","StyledPopover","isOpen","getPlacements","usePortal","frame","onToggle","trigger","Target","onChipClick","preventOverflow","closeOnOverlayClick","SelectNotFoundContent","description","buttonAction","buttonText","Ul","role","id","onScroll","map","index","Inner","concat","currentLevel","HelperText","selectConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -164,6 +164,15 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
164
164
  {
165
165
  event.preventDefault();
166
166
  var _currentItem2 = getFurtherPath(focusedPath, focusedToValueMap);
167
+ if (!path[0]) {
168
+ dispatchPath({
169
+ type: 'opened_first_level'
170
+ });
171
+ dispatchFocusedPath({
172
+ type: 'set_initial_focus'
173
+ });
174
+ break;
175
+ }
167
176
  if (!_currentItem2 || _currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.isDisabled || _currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.disabled) {
168
177
  break;
169
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Select/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { KeyboardEvent, Dispatch } from 'react';\nimport React from 'react';\n\nimport {\n PathAction,\n PathState,\n FocusedPathAction,\n FocusedPathState,\n FocusedChipIndexState,\n FocusedChipIndexAction,\n} from '../reducers';\nimport { SelectProps } from '../Select.types';\nimport type { ItemOptionTransformed } from '../elements/Inner/elements/Item/Item.types';\n\nimport { PathMapType, FocusedToValueMapType, ValueToItemMapType } from './usePathMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n Backspace: 'Backspace',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleToggle: (opened: boolean) => void;\n handlePressDown: (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => void;\n focusedChipIndex: FocusedChipIndexState;\n dispatchFocusedChipIndex: Dispatch<FocusedChipIndexAction>;\n value: SelectProps['value'];\n valueToItemMap: ValueToItemMapType;\n multiselect: boolean;\n isTargetAmount: SelectProps['isTargetAmount'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n value,\n valueToItemMap,\n multiselect,\n isTargetAmount,\n}: Props): ReturnedProps => {\n const currentLength: number = pathMap.get(path?.[path.length - 1]) || 0;\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleToggle(true);\n }\n\n if (Array.isArray(value)) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleToggle(true);\n }\n\n if (Array.isArray(value)) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (path[0]) {\n if (focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n\n if (focusedPath.length === 1) {\n handleToggle(false);\n }\n } else if (Array.isArray(value) && !isTargetAmount) {\n dispatchFocusedChipIndex({ type: 'moveLeft' });\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (path[0]) {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n }\n } else if (Array.isArray(value) && !isTargetAmount) {\n dispatchFocusedChipIndex({ type: 'moveRight', total: value.length });\n }\n\n break;\n }\n\n case keys.Backspace: {\n if (!multiselect) break;\n\n if (focusedChipIndex !== null) {\n const currentItem = valueToItemMap.get(value[focusedChipIndex])!;\n\n handlePressDown(currentItem);\n\n if (value.length === 1) {\n dispatchFocusedChipIndex({ type: 'reset' });\n\n break;\n }\n\n if (focusedChipIndex === value.length - 1) {\n dispatchFocusedChipIndex({ type: 'moveLeft' });\n\n break;\n }\n }\n\n break;\n }\n\n case keys.Space: {\n event.preventDefault();\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (!currentItem || currentItem?.isDisabled || currentItem?.disabled) {\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Enter: {\n event.preventDefault();\n\n if (Array.isArray(value)) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap)!;\n\n if (currentItem?.isDisabled || currentItem?.disabled) {\n break;\n }\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n handleToggle(false);\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleToggle(true);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleToggle(true);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleToggle","handlePressDown","focusedChipIndex","dispatchFocusedChipIndex","value","valueToItemMap","multiselect","isTargetAmount","currentLength","length","currentIndex","onKeyDown","event","code","type","Array","isArray","currentItem","items","toString","total","preventDefault","isDisabled","disabled"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../src/components/Select/hooks/useKeyboardNavigation.ts"],"sourcesContent":["import type { KeyboardEvent, Dispatch } from 'react';\nimport React from 'react';\n\nimport {\n PathAction,\n PathState,\n FocusedPathAction,\n FocusedPathState,\n FocusedChipIndexState,\n FocusedChipIndexAction,\n} from '../reducers';\nimport { SelectProps } from '../Select.types';\nimport type { ItemOptionTransformed } from '../elements/Inner/elements/Item/Item.types';\n\nimport { PathMapType, FocusedToValueMapType, ValueToItemMapType } from './usePathMaps';\n\nconst JUMP_SIZE = 10;\n\nexport const keys = {\n Enter: 'Enter',\n Space: 'Space',\n Tab: 'Tab',\n Escape: 'Escape',\n Backspace: 'Backspace',\n ArrowLeft: 'ArrowLeft',\n ArrowRight: 'ArrowRight',\n ArrowUp: 'ArrowUp',\n ArrowDown: 'ArrowDown',\n Home: 'Home',\n End: 'End',\n PageUp: 'PageUp',\n PageDown: 'PageDown',\n};\n\nconst getFurtherPath = (focusedPath: FocusedPathState, focusedToValueMap: FocusedToValueMapType) => {\n const focusedPathAsString = focusedPath.reduce((acc, n) => `${acc}/${n}`, '').replace(/^(\\/)/, '');\n\n return focusedToValueMap.get(focusedPathAsString);\n};\n\ninterface Props {\n focusedPath: FocusedPathState;\n dispatchFocusedPath: Dispatch<FocusedPathAction>;\n path: PathState;\n dispatchPath: Dispatch<PathAction>;\n pathMap: PathMapType;\n focusedToValueMap: FocusedToValueMapType;\n handleToggle: (opened: boolean) => void;\n handlePressDown: (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => void;\n focusedChipIndex: FocusedChipIndexState;\n dispatchFocusedChipIndex: Dispatch<FocusedChipIndexAction>;\n value: SelectProps['value'];\n valueToItemMap: ValueToItemMapType;\n multiselect: boolean;\n isTargetAmount: SelectProps['isTargetAmount'];\n}\n\ninterface ReturnedProps {\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\nexport const useKeyNavigation = ({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n value,\n valueToItemMap,\n multiselect,\n isTargetAmount,\n}: Props): ReturnedProps => {\n const currentLength: number = pathMap.get(path?.[path.length - 1]) || 0;\n const currentIndex: number = focusedPath?.[focusedPath.length - 1] || 0;\n\n const onKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n switch (event.code) {\n case keys.ArrowUp: {\n if (focusedPath.length) {\n if (currentIndex > 0) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleToggle(true);\n }\n\n if (Array.isArray(value)) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n\n break;\n }\n\n case keys.ArrowDown: {\n if (focusedPath.length) {\n if (currentIndex + 1 < currentLength) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + 1 });\n }\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n handleToggle(true);\n }\n\n if (Array.isArray(value)) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n\n break;\n }\n\n case keys.ArrowLeft: {\n if (path[0]) {\n if (focusedPath.length) {\n dispatchPath({ type: 'removed_last_level' });\n dispatchFocusedPath({ type: 'return_prev_focus' });\n }\n\n if (focusedPath.length === 1) {\n handleToggle(false);\n }\n } else if (Array.isArray(value) && !isTargetAmount) {\n dispatchFocusedChipIndex({ type: 'moveLeft' });\n }\n\n break;\n }\n\n case keys.ArrowRight: {\n if (path[0]) {\n if (!focusedPath.length) {\n break;\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n }\n } else if (Array.isArray(value) && !isTargetAmount) {\n dispatchFocusedChipIndex({ type: 'moveRight', total: value.length });\n }\n\n break;\n }\n\n case keys.Backspace: {\n if (!multiselect) break;\n\n if (focusedChipIndex !== null) {\n const currentItem = valueToItemMap.get(value[focusedChipIndex])!;\n\n handlePressDown(currentItem);\n\n if (value.length === 1) {\n dispatchFocusedChipIndex({ type: 'reset' });\n\n break;\n }\n\n if (focusedChipIndex === value.length - 1) {\n dispatchFocusedChipIndex({ type: 'moveLeft' });\n\n break;\n }\n }\n\n break;\n }\n\n case keys.Space: {\n event.preventDefault();\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap);\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (!currentItem || currentItem?.isDisabled || currentItem?.disabled) {\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Enter: {\n event.preventDefault();\n\n if (Array.isArray(value)) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n\n const currentItem = getFurtherPath(focusedPath, focusedToValueMap)!;\n\n if (currentItem?.isDisabled || currentItem?.disabled) {\n break;\n }\n\n if (!path[0]) {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n break;\n }\n\n if (currentItem?.items) {\n dispatchPath({ type: 'added_next_level', value: currentItem.value.toString() });\n dispatchFocusedPath({ type: 'add_focus', value: 0 });\n break;\n }\n\n handlePressDown(currentItem);\n\n break;\n }\n\n case keys.Tab:\n case keys.Escape: {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n handleToggle(false);\n\n break;\n }\n\n case keys.Home: {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'set_initial_focus' });\n\n handleToggle(true);\n }\n\n break;\n }\n\n case keys.End: {\n if (path[0]) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchPath({ type: 'opened_first_level' });\n dispatchFocusedPath({ type: 'change_last_focus', value: (pathMap.get('root') || 0) - 1 });\n\n handleToggle(true);\n }\n\n break;\n }\n\n case keys.PageUp: {\n if (!path[0]) {\n break;\n }\n\n if (currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: 0 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex - JUMP_SIZE });\n }\n\n break;\n }\n\n case keys.PageDown: {\n if (!path[0]) {\n break;\n }\n\n if (currentLength - currentIndex <= JUMP_SIZE) {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentLength - 1 });\n } else {\n dispatchFocusedPath({ type: 'change_last_focus', value: currentIndex + JUMP_SIZE });\n }\n\n break;\n }\n\n default: {\n break;\n }\n }\n };\n\n return { onKeyDown };\n};\n"],"names":["JUMP_SIZE","keys","Enter","Space","Tab","Escape","Backspace","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","getFurtherPath","focusedPath","focusedToValueMap","focusedPathAsString","reduce","acc","n","concat","replace","get","useKeyNavigation","_ref","dispatchFocusedPath","path","dispatchPath","pathMap","handleToggle","handlePressDown","focusedChipIndex","dispatchFocusedChipIndex","value","valueToItemMap","multiselect","isTargetAmount","currentLength","length","currentIndex","onKeyDown","event","code","type","Array","isArray","currentItem","items","toString","total","preventDefault","isDisabled","disabled"],"mappings":"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"}
@@ -27,7 +27,6 @@ var PaginationSelectPerPage = function PaginationSelectPerPage(_ref) {
27
27
  value: num.toString()
28
28
  };
29
29
  });
30
- console.log('listWidth', listWidth);
31
30
  return /*#__PURE__*/React.createElement(SelectPerPageRoot, rest, /*#__PURE__*/React.createElement(SelectPerPageTypography, null, textPerPage), /*#__PURE__*/React.createElement(SelectPerPageSelect, {
32
31
  className: classes.selectWrapper,
33
32
  items: transformedList,
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationSelectPerPage.js","sources":["../../../../../src/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.tsx"],"sourcesContent":["import React from 'react';\n\nimport { defaultValues } from '../../utils';\nimport { classes } from '../../Pagination.tokens';\n\nimport type { PaginationSelectPerPageProps } from './PaginationSelectPerPage.types';\nimport { SelectPerPageRoot, SelectPerPageTypography, SelectPerPageSelect } from './PaginationSelectPerPage.styles';\n\nexport const PaginationSelectPerPage: React.FC<PaginationSelectPerPageProps> = ({\n perPageValue = defaultValues.perPage,\n perPageList = defaultValues.perPageList,\n textPerPage = defaultValues.textPerPage,\n onChangeValue,\n size,\n listWidth,\n ...rest\n}) => {\n const handleSelectChange = (newValue?: string) => {\n if (newValue) {\n onChangeValue?.(Number(newValue));\n }\n };\n\n const transformedList = perPageList.map((num) => ({ label: num.toString(), value: num.toString() }));\n console.log('listWidth', listWidth);\n return (\n <SelectPerPageRoot {...rest}>\n <SelectPerPageTypography>{textPerPage}</SelectPerPageTypography>\n\n <SelectPerPageSelect\n className={classes.selectWrapper}\n items={transformedList}\n value={perPageValue.toString()}\n onChange={handleSelectChange}\n target=\"button\"\n size={size}\n listWidth={listWidth}\n />\n </SelectPerPageRoot>\n );\n};\n"],"names":["PaginationSelectPerPage","_ref","_ref$perPageValue","perPageValue","defaultValues","perPage","_ref$perPageList","perPageList","_ref$textPerPage","textPerPage","onChangeValue","size","listWidth","rest","_objectWithoutProperties","_excluded","handleSelectChange","newValue","Number","transformedList","map","num","label","toString","value","console","log","React","createElement","SelectPerPageRoot","SelectPerPageTypography","SelectPerPageSelect","className","classes","selectWrapper","items","onChange","target"],"mappings":";;;;;;;IAQaA,uBAA+D,GAAG,SAAlEA,uBAA+DA,CAAAC,IAAA,EAQtE;AAAA,EAAA,IAAAC,iBAAA,GAAAD,IAAA,CAPFE,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAGE,aAAa,CAACC,OAAO,GAAAH,iBAAA;IAAAI,gBAAA,GAAAL,IAAA,CACpCM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAGF,aAAa,CAACG,WAAW,GAAAD,gBAAA;IAAAE,gBAAA,GAAAP,IAAA,CACvCQ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAGJ,aAAa,CAACK,WAAW,GAAAD,gBAAA;IACvCE,aAAa,GAAAT,IAAA,CAAbS,aAAa;IACbC,IAAI,GAAAV,IAAA,CAAJU,IAAI;IACJC,SAAS,GAAAX,IAAA,CAATW,SAAS;AACNC,IAAAA,IAAI,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;AAEP,EAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,QAAiB,EAAK;AAC9C,IAAA,IAAIA,QAAQ,EAAE;MACVP,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,IAAAA,aAAa,CAAGQ,MAAM,CAACD,QAAQ,CAAC,CAAC,CAAA;AACrC,KAAA;GACH,CAAA;AAED,EAAA,IAAME,eAAe,GAAGZ,WAAW,CAACa,GAAG,CAAC,UAACC,GAAG,EAAA;IAAA,OAAM;AAAEC,MAAAA,KAAK,EAAED,GAAG,CAACE,QAAQ,EAAE;AAAEC,MAAAA,KAAK,EAAEH,GAAG,CAACE,QAAQ,EAAC;KAAG,CAAA;AAAA,GAAC,CAAC,CAAA;AACpGE,EAAAA,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEd,SAAS,CAAC,CAAA;EACnC,oBACIe,KAAA,CAAAC,aAAA,CAACC,iBAAiB,EAAKhB,IAAI,eACvBc,KAAA,CAAAC,aAAA,CAACE,uBAAuB,QAAErB,WAAqC,CAAC,eAEhEkB,KAAA,CAAAC,aAAA,CAACG,mBAAmB,EAAA;IAChBC,SAAS,EAAEC,OAAO,CAACC,aAAc;AACjCC,IAAAA,KAAK,EAAEhB,eAAgB;AACvBK,IAAAA,KAAK,EAAErB,YAAY,CAACoB,QAAQ,EAAG;AAC/Ba,IAAAA,QAAQ,EAAEpB,kBAAmB;AAC7BqB,IAAAA,MAAM,EAAC,QAAQ;AACf1B,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GACxB,CACc,CAAC,CAAA;AAE5B;;;;"}
1
+ {"version":3,"file":"PaginationSelectPerPage.js","sources":["../../../../../src/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.tsx"],"sourcesContent":["import React from 'react';\n\nimport { defaultValues } from '../../utils';\nimport { classes } from '../../Pagination.tokens';\n\nimport type { PaginationSelectPerPageProps } from './PaginationSelectPerPage.types';\nimport { SelectPerPageRoot, SelectPerPageTypography, SelectPerPageSelect } from './PaginationSelectPerPage.styles';\n\nexport const PaginationSelectPerPage: React.FC<PaginationSelectPerPageProps> = ({\n perPageValue = defaultValues.perPage,\n perPageList = defaultValues.perPageList,\n textPerPage = defaultValues.textPerPage,\n onChangeValue,\n size,\n listWidth,\n ...rest\n}) => {\n const handleSelectChange = (newValue?: string) => {\n if (newValue) {\n onChangeValue?.(Number(newValue));\n }\n };\n\n const transformedList = perPageList.map((num) => ({ label: num.toString(), value: num.toString() }));\n\n return (\n <SelectPerPageRoot {...rest}>\n <SelectPerPageTypography>{textPerPage}</SelectPerPageTypography>\n\n <SelectPerPageSelect\n className={classes.selectWrapper}\n items={transformedList}\n value={perPageValue.toString()}\n onChange={handleSelectChange}\n target=\"button\"\n size={size}\n listWidth={listWidth}\n />\n </SelectPerPageRoot>\n );\n};\n"],"names":["PaginationSelectPerPage","_ref","_ref$perPageValue","perPageValue","defaultValues","perPage","_ref$perPageList","perPageList","_ref$textPerPage","textPerPage","onChangeValue","size","listWidth","rest","_objectWithoutProperties","_excluded","handleSelectChange","newValue","Number","transformedList","map","num","label","toString","value","React","createElement","SelectPerPageRoot","SelectPerPageTypography","SelectPerPageSelect","className","classes","selectWrapper","items","onChange","target"],"mappings":";;;;;;;IAQaA,uBAA+D,GAAG,SAAlEA,uBAA+DA,CAAAC,IAAA,EAQtE;AAAA,EAAA,IAAAC,iBAAA,GAAAD,IAAA,CAPFE,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAGE,aAAa,CAACC,OAAO,GAAAH,iBAAA;IAAAI,gBAAA,GAAAL,IAAA,CACpCM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAGF,aAAa,CAACG,WAAW,GAAAD,gBAAA;IAAAE,gBAAA,GAAAP,IAAA,CACvCQ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAGJ,aAAa,CAACK,WAAW,GAAAD,gBAAA;IACvCE,aAAa,GAAAT,IAAA,CAAbS,aAAa;IACbC,IAAI,GAAAV,IAAA,CAAJU,IAAI;IACJC,SAAS,GAAAX,IAAA,CAATW,SAAS;AACNC,IAAAA,IAAI,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;AAEP,EAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,QAAiB,EAAK;AAC9C,IAAA,IAAIA,QAAQ,EAAE;MACVP,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAbA,KAAAA,CAAAA,IAAAA,aAAa,CAAGQ,MAAM,CAACD,QAAQ,CAAC,CAAC,CAAA;AACrC,KAAA;GACH,CAAA;AAED,EAAA,IAAME,eAAe,GAAGZ,WAAW,CAACa,GAAG,CAAC,UAACC,GAAG,EAAA;IAAA,OAAM;AAAEC,MAAAA,KAAK,EAAED,GAAG,CAACE,QAAQ,EAAE;AAAEC,MAAAA,KAAK,EAAEH,GAAG,CAACE,QAAQ,EAAC;KAAG,CAAA;AAAA,GAAC,CAAC,CAAA;EAEpG,oBACIE,KAAA,CAAAC,aAAA,CAACC,iBAAiB,EAAKd,IAAI,eACvBY,KAAA,CAAAC,aAAA,CAACE,uBAAuB,QAAEnB,WAAqC,CAAC,eAEhEgB,KAAA,CAAAC,aAAA,CAACG,mBAAmB,EAAA;IAChBC,SAAS,EAAEC,OAAO,CAACC,aAAc;AACjCC,IAAAA,KAAK,EAAEd,eAAgB;AACvBK,IAAAA,KAAK,EAAErB,YAAY,CAACoB,QAAQ,EAAG;AAC/BW,IAAAA,QAAQ,EAAElB,kBAAmB;AAC7BmB,IAAAA,MAAM,EAAC,QAAQ;AACfxB,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GACxB,CACc,CAAC,CAAA;AAE5B;;;;"}
@@ -21,7 +21,6 @@ import { OuterLabel, StyledPopover, Ul, HelperText, base } from './Select.styles
21
21
  import { base as base$1 } from './variations/_view/base.js';
22
22
  import { base as base$2 } from './variations/_size/base.js';
23
23
 
24
- var _SelectNotFoundConten;
25
24
  var _excluded = ["value", "onChange", "target", "separator", "items", "placement", "label", "labelPlacement", "placeholder", "helperText", "isTargetAmount", "disabled", "view", "size", "isOpen", "listOverflow", "listHeight", "listWidth", "status", "contentLeft", "onScrollBottom", "isInfiniteLoading", "notFoundContent", "chipView", "variant", "portal", "renderValue"];
26
25
  var Context = /*#__PURE__*/createContext({});
27
26
 
@@ -252,9 +251,11 @@ var selectRoot = function selectRoot(Root) {
252
251
  }),
253
252
  preventOverflow: false,
254
253
  closeOnOverlayClick: true
255
- }, isEmpty(items) ? notFoundContent || _SelectNotFoundConten || (_SelectNotFoundConten = /*#__PURE__*/React.createElement(SelectNotFoundContent, {
256
- description: "\u0414\u043E\u0434\u0435\u043B\u0430\u0442\u044C"
257
- })) : /*#__PURE__*/React.createElement(Ul, {
254
+ }, isEmpty(items) ? notFoundContent || /*#__PURE__*/React.createElement(SelectNotFoundContent, {
255
+ description: "\u0414\u043E\u0434\u0435\u043B\u0430\u0442\u044C",
256
+ buttonAction: function buttonAction() {},
257
+ buttonText: "Label"
258
+ }) : /*#__PURE__*/React.createElement(Ul, {
258
259
  role: "tree",
259
260
  id: "tree_level_1",
260
261
  listHeight: listHeight,
@@ -289,6 +290,7 @@ var selectConfig = {
289
290
  },
290
291
  defaults: {
291
292
  view: 'default',
293
+ chipView: 'default',
292
294
  size: 'm'
293
295
  }
294
296
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\nimport { getPlacements } from '../Dropdown/utils';\n\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner } from './elements/Inner/Inner';\nimport { SelectNotFoundContent } from './elements/SelectNotFoundContent/SelectNotFoundContent';\nimport { Target } from './elements/Target/Target';\nimport { pathReducer, focusedPathReducer, focusedChipIndexReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { StyledPopover, Ul, base, OuterLabel, HelperText } from './Select.styles';\nimport type { SelectProps, ItemContext } from './Select.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './elements/Inner/elements/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, SelectProps>) =>\n forwardRef<HTMLButtonElement, SelectProps>((props, ref) => {\n const {\n value,\n onChange,\n target = 'textfield',\n separator,\n items,\n placement = 'bottom',\n label,\n labelPlacement = 'outer',\n placeholder,\n helperText,\n isTargetAmount = false,\n disabled = false,\n view,\n size,\n isOpen,\n listOverflow,\n listHeight,\n listWidth,\n status,\n contentLeft,\n onScrollBottom,\n isInfiniteLoading,\n notFoundContent,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n ...rest\n } = props;\n\n const multiselect = Array.isArray(value);\n\n const transformedItems = useMemo(() => initialItemsTransform(items), [items]);\n\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [focusedChipIndex, dispatchFocusedChipIndex] = useReducer(focusedChipIndexReducer, null);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const targetRef = useOutsideClick(() => {\n if (focusedChipIndex != null) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n });\n\n const handleToggle = (opened: boolean) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n };\n\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value.toString())) {\n checkedCopy.set(item.value.toString(), true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value.toString(), false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value.toString());\n }\n });\n\n onChange(newValues as any);\n };\n\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item?.items)) {\n if (multiselect) {\n handleCheckboxChange(item);\n } else {\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n onChange((isCurrentChecked ? '' : item.value) as any);\n }\n }\n };\n\n const handleChipClick = (currentValue: string) => {\n handleCheckboxChange(valueToItemMap.get(currentValue)!);\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n value,\n valueToItemMap,\n multiselect,\n isTargetAmount,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\n // В данном эффекте мы следим за изменениями value и вносим коррективы в дерево чекбоксов.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (multiselect && Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value as string, 'done');\n updateSingleAncestors(valueToItemMap.get(value as string)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root\n ref={ref}\n size={size}\n view={getView(view, status)}\n chipView={chipView}\n items={items}\n {...(rest as any)}\n >\n {label && labelPlacement === 'outer' && target !== 'button' && <OuterLabel>{label}</OuterLabel>}\n\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n }}\n >\n <StyledPopover\n ref={targetRef}\n isOpen={isCurrentListOpen}\n placement={getPlacements(placement)}\n usePortal={Boolean(portal)}\n frame={portal}\n onToggle={handleToggle}\n trigger=\"click\"\n target={\n <Target\n opened={isCurrentListOpen}\n target={target}\n value={value}\n isTargetAmount={isTargetAmount}\n multiselect={multiselect}\n valueToItemMap={valueToItemMap}\n focusedPath={focusedPath}\n focusedToValueMap={focusedToValueMap}\n onChipClick={handleChipClick}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n focusedChipIndex={focusedChipIndex}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n renderValue={renderValue}\n />\n }\n preventOverflow={false}\n closeOnOverlayClick\n >\n {isEmpty(items) ? (\n notFoundContent || <SelectNotFoundContent description=\"Доделать\" />\n ) : (\n <Ul\n role=\"tree\"\n id=\"tree_level_1\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n >\n {transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n )}\n </StyledPopover>\n </Context.Provider>\n\n {helperText && target === 'textfield' && <HelperText>{helperText}</HelperText>}\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","selectRoot","Root","forwardRef","props","ref","value","onChange","_props$target","target","items","_props$placement","placement","label","_props$labelPlacement","labelPlacement","placeholder","helperText","_props$isTargetAmount","isTargetAmount","_props$disabled","disabled","view","size","listOverflow","listHeight","listWidth","status","contentLeft","onScrollBottom","notFoundContent","chipView","_props$variant","variant","portal","renderValue","rest","_objectWithoutProperties","_excluded","multiselect","Array","isArray","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useReducer5","focusedChipIndexReducer","_useReducer6","focusedChipIndex","dispatchFocusedChipIndex","_useState","useState","_useState2","checked","setChecked","targetRef","useOutsideClick","type","handleToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","toString","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","_","updateSingleAncestors","handleChipClick","currentValue","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","useLayoutEffect","val","React","createElement","_extends","getView","OuterLabel","Provider","StyledPopover","isOpen","getPlacements","usePortal","frame","onToggle","trigger","Target","onChipClick","preventOverflow","closeOnOverlayClick","_SelectNotFoundConten","SelectNotFoundContent","description","Ul","role","id","onScroll","map","index","Inner","concat","currentLevel","HelperText","selectConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer, useMemo, createContext, useLayoutEffect } from 'react';\n\nimport { RootProps } from '../../engines';\nimport { isEmpty } from '../../utils';\nimport { useOutsideClick } from '../../hooks';\nimport { getPlacements } from '../Dropdown/utils';\n\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\nimport { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, getView } from './utils';\nimport { Inner } from './elements/Inner/Inner';\nimport { SelectNotFoundContent } from './elements/SelectNotFoundContent/SelectNotFoundContent';\nimport { Target } from './elements/Target/Target';\nimport { pathReducer, focusedPathReducer, focusedChipIndexReducer } from './reducers';\nimport { usePathMaps } from './hooks/usePathMaps';\nimport { StyledPopover, Ul, base, OuterLabel, HelperText } from './Select.styles';\nimport type { SelectProps, ItemContext } from './Select.types';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport type { ItemOptionTransformed } from './elements/Inner/elements/Item/Item.types';\n\nexport const Context = createContext<ItemContext>({} as ItemContext);\n\n/**\n * Выпадающий список. Поддерживает выбор одного или нескольких значений.\n */\nexport const selectRoot = (Root: RootProps<HTMLButtonElement, SelectProps>) =>\n forwardRef<HTMLButtonElement, SelectProps>((props, ref) => {\n const {\n value,\n onChange,\n target = 'textfield',\n separator,\n items,\n placement = 'bottom',\n label,\n labelPlacement = 'outer',\n placeholder,\n helperText,\n isTargetAmount = false,\n disabled = false,\n view,\n size,\n isOpen,\n listOverflow,\n listHeight,\n listWidth,\n status,\n contentLeft,\n onScrollBottom,\n isInfiniteLoading,\n notFoundContent,\n chipView,\n variant = 'normal',\n portal,\n renderValue,\n ...rest\n } = props;\n\n const multiselect = Array.isArray(value);\n\n const transformedItems = useMemo(() => initialItemsTransform(items), [items]);\n\n const [pathMap, focusedToValueMap, valueToCheckedMap, valueToItemMap] = usePathMaps(transformedItems);\n\n const [path, dispatchPath] = useReducer(pathReducer, []);\n const [focusedPath, dispatchFocusedPath] = useReducer(focusedPathReducer, []);\n const [focusedChipIndex, dispatchFocusedChipIndex] = useReducer(focusedChipIndexReducer, null);\n const [checked, setChecked] = useState(valueToCheckedMap);\n\n const targetRef = useOutsideClick(() => {\n if (focusedChipIndex != null) {\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n });\n\n const handleToggle = (opened: boolean) => {\n if (opened) {\n dispatchPath({ type: 'opened_first_level' });\n } else {\n dispatchFocusedPath({ type: 'reset' });\n dispatchPath({ type: 'reset' });\n dispatchFocusedChipIndex({ type: 'reset' });\n }\n };\n\n const handleCheckboxChange = (item: ItemOptionTransformed) => {\n const checkedCopy = new Map(checked);\n\n if (!checkedCopy.get(item.value.toString())) {\n checkedCopy.set(item.value.toString(), true);\n updateDescendants(item, checkedCopy, true);\n } else {\n checkedCopy.set(item.value.toString(), false);\n updateDescendants(item, checkedCopy, false);\n }\n\n updateAncestors(item, checkedCopy);\n\n const newValues: Array<string> = [];\n\n valueToItemMap.forEach((item, key) => {\n if (checkedCopy.get(key)) {\n newValues.push(item.value.toString());\n }\n });\n\n onChange(newValues as any);\n };\n\n const handleItemClick = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item?.items)) {\n if (multiselect) {\n handleCheckboxChange(item);\n } else {\n if (e) {\n e.stopPropagation();\n }\n\n const checkedCopy = new Map(checked);\n\n const isCurrentChecked = checkedCopy.get(item.value);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isCurrentChecked) {\n checkedCopy.set(item.value, 'done');\n updateSingleAncestors(item, checkedCopy, 'dot');\n }\n\n onChange((isCurrentChecked ? '' : item.value) as any);\n }\n }\n };\n\n const handleChipClick = (currentValue: string) => {\n handleCheckboxChange(valueToItemMap.get(currentValue)!);\n };\n\n const handlePressDown = (item: ItemOptionTransformed, e?: React.MouseEvent<HTMLElement>) => {\n if (isEmpty(item.items)) {\n handleItemClick(item, e);\n } else if (multiselect) {\n handleCheckboxChange(item);\n }\n };\n\n const handleScroll = (e: React.UIEvent<HTMLUListElement>) => {\n if (!onScrollBottom) return;\n\n const { target } = e;\n\n if (\n (target as HTMLElement).scrollHeight - (target as HTMLElement).scrollTop ===\n (target as HTMLElement).clientHeight\n ) {\n onScrollBottom(e);\n }\n };\n\n const { onKeyDown } = useKeyNavigation({\n focusedPath,\n dispatchFocusedPath,\n path,\n dispatchPath,\n pathMap,\n focusedToValueMap,\n handleToggle,\n handlePressDown,\n focusedChipIndex,\n dispatchFocusedChipIndex,\n value,\n valueToItemMap,\n multiselect,\n isTargetAmount,\n });\n\n const isCurrentListOpen = Boolean(path[0]);\n\n // В данном эффекте мы следим за изменениями value и вносим коррективы в дерево чекбоксов.\n useLayoutEffect(() => {\n const checkedCopy = new Map(checked);\n\n checkedCopy.forEach((_, key) => {\n checkedCopy.set(key, false);\n });\n\n if (!isEmpty(value)) {\n if (multiselect && Array.isArray(value)) {\n value.forEach((val) => {\n checkedCopy.set(val, true);\n updateDescendants(valueToItemMap.get(val)!, checkedCopy, true);\n updateAncestors(valueToItemMap.get(val)!, checkedCopy);\n });\n } else {\n checkedCopy.set(value as string, 'done');\n updateSingleAncestors(valueToItemMap.get(value as string)!, checkedCopy, 'dot');\n }\n }\n\n setChecked(checkedCopy);\n }, [value]);\n\n return (\n <Root\n ref={ref}\n size={size}\n view={getView(view, status)}\n chipView={chipView}\n items={items}\n {...(rest as any)}\n >\n {label && labelPlacement === 'outer' && target !== 'button' && <OuterLabel>{label}</OuterLabel>}\n\n <Context.Provider\n value={{\n focusedPath,\n checked,\n multiselect,\n size,\n handleCheckboxChange,\n handleItemClick,\n variant,\n }}\n >\n <StyledPopover\n ref={targetRef}\n isOpen={isCurrentListOpen}\n placement={getPlacements(placement)}\n usePortal={Boolean(portal)}\n frame={portal}\n onToggle={handleToggle}\n trigger=\"click\"\n target={\n <Target\n opened={isCurrentListOpen}\n target={target}\n value={value}\n isTargetAmount={isTargetAmount}\n multiselect={multiselect}\n valueToItemMap={valueToItemMap}\n focusedPath={focusedPath}\n focusedToValueMap={focusedToValueMap}\n onChipClick={handleChipClick}\n label={label}\n placeholder={placeholder}\n onKeyDown={onKeyDown}\n focusedChipIndex={focusedChipIndex}\n labelPlacement={labelPlacement}\n size={size}\n contentLeft={contentLeft}\n disabled={disabled}\n renderValue={renderValue}\n />\n }\n preventOverflow={false}\n closeOnOverlayClick\n >\n {isEmpty(items) ? (\n notFoundContent || (\n <SelectNotFoundContent\n description=\"Доделать\"\n buttonAction={() => {}}\n buttonText=\"Label\"\n />\n )\n ) : (\n <Ul\n role=\"tree\"\n id=\"tree_level_1\"\n listHeight={listHeight}\n listOverflow={listOverflow}\n onScroll={handleScroll}\n listWidth={listWidth}\n >\n {transformedItems.map((item, index) => (\n <Inner\n key={`${index}/0`}\n item={item}\n currentLevel={0}\n path={path}\n dispatchPath={dispatchPath}\n index={index}\n listWidth={listWidth}\n />\n ))}\n </Ul>\n )}\n </StyledPopover>\n </Context.Provider>\n\n {helperText && target === 'textfield' && <HelperText>{helperText}</HelperText>}\n </Root>\n );\n });\n\nexport const selectConfig = {\n name: 'Select',\n tag: 'div',\n layout: selectRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n chipView: 'default',\n size: 'm',\n },\n};\n"],"names":["Context","createContext","selectRoot","Root","forwardRef","props","ref","value","onChange","_props$target","target","items","_props$placement","placement","label","_props$labelPlacement","labelPlacement","placeholder","helperText","_props$isTargetAmount","isTargetAmount","_props$disabled","disabled","view","size","listOverflow","listHeight","listWidth","status","contentLeft","onScrollBottom","notFoundContent","chipView","_props$variant","variant","portal","renderValue","rest","_objectWithoutProperties","_excluded","multiselect","Array","isArray","transformedItems","useMemo","initialItemsTransform","_usePathMaps","usePathMaps","_usePathMaps2","_slicedToArray","pathMap","focusedToValueMap","valueToCheckedMap","valueToItemMap","_useReducer","useReducer","pathReducer","_useReducer2","path","dispatchPath","_useReducer3","focusedPathReducer","_useReducer4","focusedPath","dispatchFocusedPath","_useReducer5","focusedChipIndexReducer","_useReducer6","focusedChipIndex","dispatchFocusedChipIndex","_useState","useState","_useState2","checked","setChecked","targetRef","useOutsideClick","type","handleToggle","opened","handleCheckboxChange","item","checkedCopy","Map","get","toString","set","updateDescendants","updateAncestors","newValues","forEach","key","push","handleItemClick","e","isEmpty","stopPropagation","isCurrentChecked","_","updateSingleAncestors","handleChipClick","currentValue","handlePressDown","handleScroll","scrollHeight","scrollTop","clientHeight","_useKeyNavigation","useKeyNavigation","onKeyDown","isCurrentListOpen","Boolean","useLayoutEffect","val","React","createElement","_extends","getView","OuterLabel","Provider","StyledPopover","isOpen","getPlacements","usePortal","frame","onToggle","trigger","Target","onChipClick","preventOverflow","closeOnOverlayClick","SelectNotFoundContent","description","buttonAction","buttonText","Ul","role","id","onScroll","map","index","Inner","concat","currentLevel","HelperText","selectConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -160,6 +160,15 @@ var useKeyNavigation = function useKeyNavigation(_ref) {
160
160
  {
161
161
  event.preventDefault();
162
162
  var _currentItem2 = getFurtherPath(focusedPath, focusedToValueMap);
163
+ if (!path[0]) {
164
+ dispatchPath({
165
+ type: 'opened_first_level'
166
+ });
167
+ dispatchFocusedPath({
168
+ type: 'set_initial_focus'
169
+ });
170
+ break;
171
+ }
163
172
  if (!_currentItem2 || _currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.isDisabled || _currentItem2 !== null && _currentItem2 !== void 0 && _currentItem2.disabled) {
164
173
  break;
165
174
  }