@consta/uikit 5.30.0 → 5.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/FileCanary/index.d.ts +1 -0
  2. package/FileCanary/index.js +1 -0
  3. package/__internal__/src/components/AutoComplete/AutoComplete.js +1 -1
  4. package/__internal__/src/components/AutoComplete/AutoComplete.js.map +1 -1
  5. package/__internal__/src/components/AutoComplete/helpers.d.ts +1 -0
  6. package/__internal__/src/components/AutoComplete/types.d.ts +1 -0
  7. package/__internal__/src/components/AutoComplete/types.js.map +1 -1
  8. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js +1 -1
  9. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js.map +1 -1
  10. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js +1 -1
  11. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js.map +1 -1
  12. package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +1 -0
  13. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +1 -0
  14. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
  15. package/__internal__/src/components/Combobox/Combobox.js +1 -1
  16. package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
  17. package/__internal__/src/components/Combobox/helpers.d.ts +3 -1
  18. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  19. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js +1 -1
  20. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js.map +1 -1
  21. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js +1 -1
  22. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js.map +1 -1
  23. package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -2
  24. package/__internal__/src/components/ContextMenu/types.d.ts +3 -0
  25. package/__internal__/src/components/ContextMenu/types.js.map +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +1 -0
  27. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
  29. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  30. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
  31. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  32. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  33. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  34. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  35. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  36. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  37. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
  38. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
  39. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  40. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  41. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  42. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  43. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
  44. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
  45. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  46. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  47. package/__internal__/src/components/DatePicker/types.d.ts +1 -0
  48. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  49. package/__internal__/src/components/FileCanary/FileCanary.d.ts +1 -0
  50. package/__internal__/src/components/FileCanary/FileCanary.js +2 -0
  51. package/__internal__/src/components/FileCanary/FileCanary.js.map +1 -0
  52. package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.css +1 -0
  53. package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.d.ts +4 -0
  54. package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.js +2 -0
  55. package/__internal__/src/components/FileCanary/FileCanaryBase/FileCanaryBase.js.map +1 -0
  56. package/__internal__/src/components/FileCanary/config.d.ts +2 -0
  57. package/__internal__/src/components/FileCanary/config.js +2 -0
  58. package/__internal__/src/components/FileCanary/config.js.map +1 -0
  59. package/__internal__/src/components/FileCanary/fileCanaryGenerator.d.ts +2 -0
  60. package/__internal__/src/components/FileCanary/fileCanaryGenerator.js +2 -0
  61. package/__internal__/src/components/FileCanary/fileCanaryGenerator.js.map +1 -0
  62. package/__internal__/src/components/FileCanary/index.d.ts +4 -0
  63. package/__internal__/src/components/FileCanary/index.js +2 -0
  64. package/__internal__/src/components/FileCanary/index.js.map +1 -0
  65. package/__internal__/src/components/FileCanary/types.d.ts +25 -0
  66. package/__internal__/src/components/FileCanary/types.js +2 -0
  67. package/__internal__/src/components/FileCanary/types.js.map +1 -0
  68. package/__internal__/src/components/FlatSelect/FlatSelect.js +1 -1
  69. package/__internal__/src/components/FlatSelect/FlatSelect.js.map +1 -1
  70. package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.d.ts +1 -0
  71. package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js +1 -1
  72. package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js.map +1 -1
  73. package/__internal__/src/components/FlatSelect/types.d.ts +1 -0
  74. package/__internal__/src/components/FlatSelect/types.js.map +1 -1
  75. package/__internal__/src/components/Select/Select.js +1 -1
  76. package/__internal__/src/components/Select/Select.js.map +1 -1
  77. package/__internal__/src/components/Select/helpers.d.ts +3 -1
  78. package/__internal__/src/components/Select/helpers.js.map +1 -1
  79. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.d.ts +1 -0
  80. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js +1 -1
  81. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js.map +1 -1
  82. package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js +1 -1
  83. package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js.map +1 -1
  84. package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.js +1 -1
  85. package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.js.map +1 -1
  86. package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.d.ts +1 -0
  87. package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js +1 -1
  88. package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js.map +1 -1
  89. package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js +1 -1
  90. package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js.map +1 -1
  91. package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js +1 -1
  92. package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js.map +1 -1
  93. package/__internal__/src/components/SelectCanary/helpers.d.ts +2 -1
  94. package/__internal__/src/components/SelectCanary/types.d.ts +1 -0
  95. package/__internal__/src/components/SelectCanary/types.js.map +1 -1
  96. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +1 -0
  97. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
  98. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  99. package/__internal__/src/components/Theme/_font/Silkscreen-Regular.woff +0 -0
  100. package/__internal__/src/components/Theme/_font/Silkscreen-Regular.woff2 +0 -0
  101. package/__internal__/src/components/Theme/_font/Theme_font_gpnDefault.css +1 -1
  102. package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
  103. package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
  104. package/__internal__/src/components/UserSelect/helpers.d.ts +3 -1
  105. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  106. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMultiple.test.js","names":["act","fireEvent","render","screen","React","createIconMock","cnFieldArrayValueInlineControl","cnFieldControlLayout","cnListBox","cnListItem","cnListLoader","cnSelectControlLayout","cnSelectCreateButton","cnSelectItemAll","SelectMultiple","testId","animationDuration","renderComponent","props","getRender","getByTestId","getOutside","getInput","querySelector","inputClick","click","animateDelay","jest","advanceTimersByTime","getDropdown","queryByRole","outsideClick","mouseDown","getValueControl","getItems","querySelectorAll","getSelectAllOptions","getSelectAllOption","index","getItem","getClearButton","getLoader","getCreateButton","onCreateClick","items","id","label","groupId","itemsWithDisabled","disabled","groups","describe","it","expect","onChange","fn","not","toThrow","placeholder","getByPlaceholderText","toBeInTheDocument","value","getByText","ref","current","toBeTruthy","inputRef","className","toHaveClass","toHaveAttribute","useFakeTimers","map","item","textContent","toEqual","onChangeMock","toHaveBeenCalled","toHaveBeenCalledTimes","toHaveBeenCalledWith","e","any","Object","handlerFocus","onFocus","focus","handlerBlur","onBlur","blur","handlerDropdownOpen","onDropdownOpen","input","keyDown","key","toHaveFocus","onInputChangeMock","onInput","change","target","inputValue","inputDefaultValue","clearButton","handleChange","group","dropdownForm","form","split","view","status","isLoading","onCreate","labelForCreate","iconClear","renderItem","renderValue","selectAll","toHaveTextContent","length","selectAllLabel","testingGroupIndex","filter"],"sources":["../../../../../../../src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.tsx"],"sourcesContent":["import { act, fireEvent, render, screen } from '@testing-library/react';\nimport React from 'react';\n\nimport { createIconMock } from '##/../__mocks__/IconMock';\nimport { cnFieldArrayValueInlineControl } from '##/components/FieldComponents';\nimport { cnFieldControlLayout } from '##/components/FieldComponents/FieldControlLayout';\nimport { cnListBox, cnListItem, cnListLoader } from '##/components/ListCanary';\n\nimport {\n SelectGroupDefault,\n SelectItemDefault,\n SelectPropRenderItem,\n SelectPropRenderValue,\n SelectProps,\n} from '../..';\nimport { cnSelectControlLayout } from '../../SelectControlLayout';\nimport { cnSelectCreateButton } from '../../SelectCreateButton';\nimport { cnSelectItemAll } from '../../SelectItemAll';\nimport { SelectMultiple } from '../SelectMultiple';\n\nconst testId = 'SelectSingleCanary';\nconst animationDuration = 200;\n\nconst renderComponent = (\n props: SelectProps<SelectItemDefault, SelectGroupDefault, true>,\n) => {\n return render(\n <>\n <div data-testid=\"outside\" />\n <SelectMultiple data-testid={testId} multiple {...props} />\n </>,\n );\n};\n\nconst getRender = () => screen.getByTestId(testId);\nconst getOutside = () => screen.getByTestId('outside') as HTMLDivElement;\nconst getInput = () => getRender().querySelector(`input`) as HTMLInputElement;\nconst inputClick = () => fireEvent.click(getInput());\nconst animateDelay = () => {\n act(() => {\n jest.advanceTimersByTime(animationDuration);\n });\n};\nconst getDropdown = () => screen.queryByRole('listbox') as HTMLDivElement;\nconst outsideClick = () => fireEvent.mouseDown(getOutside());\nconst getValueControl = () =>\n getRender().querySelector(\n `.${cnFieldArrayValueInlineControl()}`,\n ) as HTMLDivElement;\nconst getItems = () =>\n getDropdown().querySelectorAll(\n `.${cnListItem()}`,\n ) as unknown as HTMLDivElement[];\nconst getSelectAllOptions = () =>\n getDropdown().querySelectorAll(\n `.${cnSelectItemAll()}`,\n ) as unknown as HTMLDivElement[];\nconst getSelectAllOption = (index: number = 0) =>\n getSelectAllOptions()[index] as HTMLDivElement;\n\nconst getItem = (index: number = 0) => getItems()[index] as HTMLDivElement;\nconst getClearButton = () =>\n getRender().querySelector(\n `.${cnSelectControlLayout('ClearButton')}`,\n ) as HTMLButtonElement;\nconst getLoader = () =>\n getDropdown().querySelector(`.${cnListLoader()}`) as HTMLDivElement;\nconst getCreateButton = () =>\n getDropdown().querySelector(`.${cnSelectCreateButton()}`) as HTMLDivElement;\nconst onCreateClick = () => fireEvent.click(getCreateButton());\n\nconst items: SelectItemDefault[] = [\n { id: 1, label: 'Item 1', groupId: 1 },\n { id: 2, label: 'Item 2', groupId: 1 },\n { id: 3, label: 'Item 3', groupId: 2 },\n];\n\nconst itemsWithDisabled: SelectItemDefault[] = [\n { id: 1, label: 'Item 1', groupId: 1, disabled: true },\n { id: 2, label: 'Item 2', groupId: 1 },\n { id: 3, label: 'Item 3', groupId: 2, disabled: true },\n];\n\nconst groups: SelectGroupDefault[] = [\n { id: 1, label: 'Group 1' },\n { id: 2, label: 'Group 2' },\n];\n\ndescribe('SelectSingle', () => {\n // const getItemLabel = (item: { id: number; label: string }) => item.label;\n // const getItemKey = (item: { id: number; label: string }) => item.id;\n\n it('рендерится без ошибок', () => {\n expect(() => renderComponent({ items, onChange: jest.fn() })).not.toThrow();\n });\n\n it('отображает плейсхолдер, если значение не выбрано', () => {\n renderComponent({\n items,\n onChange: jest.fn(),\n placeholder: 'Выберите элемент',\n });\n\n expect(screen.getByPlaceholderText('Выберите элемент')).toBeInTheDocument();\n });\n\n it('отображает выбранное значение', () => {\n renderComponent({\n items,\n value: [items[1]],\n onChange: jest.fn(),\n placeholder: 'Выберите элемент',\n });\n\n expect(screen.getByText('Item 2')).toBeInTheDocument();\n });\n\n it('проверка ref', () => {\n const ref = { current: null };\n renderComponent({ items, ref, onChange: jest.fn() });\n expect(ref.current).toBeTruthy();\n });\n\n it('проверка inputRef', () => {\n const inputRef = { current: null };\n renderComponent({ items, inputRef, onChange: jest.fn() });\n expect(inputRef.current).toBeTruthy();\n });\n\n it('Присваивается дополнительный className', () => {\n const className = 'custom-class';\n renderComponent({ items, className, onChange: jest.fn() });\n expect(getRender()).toHaveClass(className);\n });\n\n it('Присваиваются дополнительные атрибуты', () => {\n renderComponent({\n items,\n 'onChange': jest.fn(),\n 'aria-placeholder': 'test-autocomplete',\n });\n expect(getRender()).toHaveAttribute(\n 'aria-placeholder',\n 'test-autocomplete',\n );\n });\n\n it('открывается по клику', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n });\n\n it('открывается по клику', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n });\n\n it('закрывается по клику вне компонента', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n outsideClick();\n animateDelay();\n\n expect(getDropdown()).not.toBeInTheDocument();\n });\n\n it('Отображаются элементы', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n items.map((item) =>\n expect(screen.getByText(item.label)).toBeInTheDocument(),\n );\n });\n\n it('не открывается по клику при disabled', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn(), disabled: true });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).not.toBeInTheDocument();\n });\n\n it('value верно рендерится', () => {\n const value = [items[2]];\n\n renderComponent({\n items,\n value,\n onChange: jest.fn(),\n });\n expect(getValueControl().textContent).toEqual(value[0].label);\n });\n\n it('проверка onChange', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock });\n });\n inputClick();\n animateDelay();\n fireEvent.click(getItem(0));\n expect(onChangeMock).toHaveBeenCalled();\n expect(onChangeMock).toHaveBeenCalledTimes(1);\n expect(onChangeMock).toHaveBeenCalledWith([items[0]], {\n e: expect.any(Object),\n });\n });\n\n describe('проверка onFocus', () => {\n it('проверка onFocus', () => {\n const handlerFocus = jest.fn();\n renderComponent({ items, onChange: jest.fn(), onFocus: handlerFocus });\n\n expect(handlerFocus).toHaveBeenCalledTimes(0);\n\n getInput().focus();\n\n expect(handlerFocus).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('проверка onBlur', () => {\n it('проверка onBlur', () => {\n const handlerBlur = jest.fn();\n renderComponent({ items, onChange: jest.fn(), onBlur: handlerBlur });\n getInput().focus();\n expect(handlerBlur).toHaveBeenCalledTimes(0);\n getInput().blur();\n expect(handlerBlur).toHaveBeenCalledTimes(1);\n });\n });\n\n it('проверка onDropdownOpen', () => {\n const handlerDropdownOpen = jest.fn();\n renderComponent({\n items,\n onChange: jest.fn(),\n onDropdownOpen: handlerDropdownOpen,\n });\n inputClick();\n\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(2);\n outsideClick();\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(3);\n inputClick();\n\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(4);\n outsideClick();\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(5);\n });\n\n it('поддерживает управление с клавиатуры', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock });\n });\n\n const input = getInput();\n fireEvent.focus(input);\n animateDelay();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'ArrowUp' });\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n fireEvent.keyDown(input, { key: 'Enter' });\n\n // переход по клавишам работает\n expect(onChangeMock).toHaveBeenCalledWith([items[1]], {\n e: expect.any(Object),\n });\n\n fireEvent.keyDown(input, { key: 'Escape' });\n animateDelay();\n // закрытие по esc\n expect(getDropdown()).not.toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Enter' });\n animateDelay();\n // открытие по enter\n expect(getDropdown()).toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Tab' });\n animateDelay();\n // закрытие по tab\n expect(getDropdown()).not.toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Tab' });\n\n // снятие фокуса по tab\n expect(input).not.toHaveFocus();\n });\n\n it('disable - управление с клавиатуры не работает', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock, disabled: true });\n });\n\n const input = getInput();\n fireEvent.focus(input);\n animateDelay();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n\n fireEvent.keyDown(input, { key: 'Enter' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n });\n\n it('имеется возможность вводить текст в input', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n const input = getInput();\n\n fireEvent.change(input, { target: { value: 'change' } });\n\n expect(input.value).toEqual('change');\n });\n\n it('имеется возможность вводить текст в input', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n const input = getInput();\n\n fireEvent.change(input, { target: { value: 'change' } });\n\n expect(input.value).toEqual('change');\n expect(onInputChangeMock).toHaveBeenCalledWith('change');\n });\n\n it('при вводе текста в input срабатывает onInput', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n fireEvent.change(getInput(), { target: { value: 'change' } });\n\n expect(onInputChangeMock).toHaveBeenCalledTimes(1);\n expect(onInputChangeMock).toHaveBeenCalledWith('change');\n });\n\n it('disabled - при вводе текста в input не срабатывает onInput', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n disabled: true,\n input: true,\n });\n\n fireEvent.change(getInput(), { target: { value: 'change' } });\n\n expect(onInputChangeMock).not.toHaveBeenCalled();\n });\n\n it('отображается inputValue', () => {\n const onInputChangeMock = jest.fn();\n const inputValue = 'я ищу';\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n inputValue,\n input: true,\n });\n\n expect(getInput().value).toEqual(inputValue);\n });\n\n it('отображается inputDefaultValue', () => {\n const inputDefaultValue = 'я ищу';\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n inputDefaultValue,\n input: true,\n });\n\n expect(getInput().value).toEqual(inputDefaultValue);\n });\n\n it('disabled - при удалении текста по Backspace он не удаляется', () => {\n const onInputChangeMock = jest.fn();\n const inputValue = 'я ищу';\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n inputValue,\n disabled: true,\n input: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(getInput().value).toEqual(inputValue);\n });\n\n it('clearButton отображается при выбранном значении', () => {\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n clearButton: true,\n });\n\n const clearButton = getClearButton();\n\n expect(clearButton).toBeInTheDocument();\n });\n\n it('очищает значение при нажатии на кнопку очистки', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n });\n\n const clearButton = getClearButton();\n fireEvent.click(clearButton);\n\n expect(handleChange).toHaveBeenCalledWith(null, {\n e: expect.any(Object),\n });\n });\n\n it('очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).toHaveBeenCalledWith(null, {\n e: expect.any(Object),\n });\n });\n\n it('disabled - не очищает значение при нажатии на кнопку очистки', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n const clearButton = getClearButton();\n fireEvent.click(clearButton);\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('disabled - не очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('disabled - не очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('группы отображаются', () => {\n renderComponent({\n items,\n groups,\n value: [items[0]],\n onChange: jest.fn(),\n });\n\n inputClick();\n animateDelay();\n groups.map((group) =>\n expect(screen.getByText(group.label)).toBeInTheDocument(),\n );\n });\n\n describe('проверка dropdownForm', () => {\n (['default', 'brick', 'round'] as const).map((dropdownForm) => {\n it(`dropdownForm = ${dropdownForm}`, () => {\n jest.useFakeTimers();\n\n act(() => {\n renderComponent({ items, dropdownForm, onChange: jest.fn() });\n });\n inputClick();\n animateDelay();\n expect(getDropdown()).toHaveClass(\n cnListBox({ form: dropdownForm }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка form', () => {\n (\n [\n 'default',\n 'defaultClear',\n 'defaultBrick',\n 'brick',\n 'brickDefault',\n 'brickClear',\n 'brickRound',\n 'round',\n 'roundClear',\n 'roundBrick',\n 'clearRound',\n 'clearDefault',\n 'clearBrick',\n 'clear',\n ] as const\n ).map((form) => {\n it(`form = ${form}`, () => {\n renderComponent({ items, form, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ form }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка view', () => {\n (['default', 'clear'] as const).map((view) => {\n it(`view = ${view}`, () => {\n renderComponent({ items, view, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ view }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка status', () => {\n (['alert', 'success', 'warning'] as const).map((status) => {\n it(`status = ${status}`, () => {\n renderComponent({ items, status, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ status }).split(' ')[1],\n );\n });\n });\n });\n\n it('элементы disabled отображаются с соответствущем классом', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items: itemsWithDisabled, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n itemsWithDisabled.map((item, index) => {\n if (item.disabled) {\n expect(getItem(index)).toHaveClass(\n cnListItem({ disabled: true }).split(' ')[1],\n );\n } else {\n expect(getItem(index)).not.toHaveClass(\n cnListItem({ disabled: true }).split(' ')[1],\n );\n }\n });\n });\n\n describe('по элементам disabled не отрабатывает onChange', () => {\n itemsWithDisabled.map((item, index) => {\n it(`item ${index} disabled = ${item.disabled}`, () => {\n jest.useFakeTimers();\n const handleChange = jest.fn();\n act(() => {\n renderComponent({ items: itemsWithDisabled, onChange: handleChange });\n });\n\n inputClick();\n\n animateDelay();\n fireEvent.click(getItem(index));\n if (item.disabled) {\n expect(handleChange).not.toHaveBeenCalled();\n } else {\n expect(handleChange).toHaveBeenCalled();\n }\n });\n });\n });\n\n describe('проверка isLoading', () => {\n it('isLoading = true', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, isLoading: true, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getLoader()).toBeInTheDocument();\n });\n [false, undefined].map((isLoading) => {\n it(`isLoading = ${isLoading}`, () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, isLoading, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getLoader()).not.toBeInTheDocument();\n });\n });\n });\n\n it('проверка onCreate', () => {\n jest.useFakeTimers();\n const onCreate = jest.fn();\n const inputValue = 'test';\n act(() => {\n renderComponent({ items, onCreate, inputValue, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getCreateButton()).toBeInTheDocument();\n\n onCreateClick();\n\n expect(onCreate).toHaveBeenCalled();\n expect(onCreate).toHaveBeenCalledWith(inputValue, {\n e: expect.any(Object),\n });\n });\n\n it('проверка labelForCreate', () => {\n jest.useFakeTimers();\n const labelForCreate = 'Создать';\n act(() => {\n renderComponent({\n items,\n labelForCreate,\n onCreate: jest.fn(),\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getCreateButton()).toBeInTheDocument();\n });\n\n it('проверка iconClear', () => {\n jest.useFakeTimers();\n const iconClear = createIconMock('iconClear');\n act(() => {\n renderComponent({\n items,\n iconClear,\n clearButton: true,\n inputValue: 'test',\n onCreate: jest.fn(),\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getClearButton().textContent).toEqual('iconClear');\n });\n\n // тестирование renderItem\n it('проверка renderItem', () => {\n jest.useFakeTimers();\n const renderItem: SelectPropRenderItem<SelectItemDefault> = ({ item }) => (\n <div className=\"test\">{item.label}</div>\n );\n act(() => {\n renderComponent({\n items,\n renderItem,\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown().querySelectorAll('.test')[0]).toBeInTheDocument();\n expect(getDropdown().querySelectorAll('.test')[0].textContent).toEqual(\n items[0].label,\n );\n });\n\n it('проверка renderValue', () => {\n jest.useFakeTimers();\n const renderValue: SelectPropRenderValue<SelectItemDefault, true> = ({\n value,\n }) => (\n <>\n {value.map((item) => (\n <div className=\"test\">{item.label}</div>\n ))}\n </>\n );\n\n act(() => {\n renderComponent({\n items,\n renderValue,\n value: [items[0]],\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getValueControl().querySelector('.test')).toBeInTheDocument();\n });\n\n it('проверка selectAll', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n // получить элемент selectAl\n });\n\n it('проверка selectAll в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n value: items,\n groups,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getSelectAllOptions().length).toEqual(2);\n });\n\n it('проверка selectAllLabel', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const selectAllLabel = 'Все';\n\n act(() => {\n renderComponent({\n items,\n selectAll: true,\n onChange: onChangeMock,\n selectAllLabel,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n expect(item).toHaveTextContent(selectAllLabel);\n expect(item).toHaveClass(cnSelectItemAll());\n });\n\n describe('проверка клика selectAll', () => {\n it('если не выбрано то выбирает все', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(items, {\n e: expect.any(Object),\n });\n });\n it('если выбран хотя бы 1 выбрано то выбирает все', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n value: [items[0]],\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(items, {\n e: expect.any(Object),\n });\n });\n it('если выбраны все то отменяет все выборы', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n value: items,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith([], {\n e: expect.any(Object),\n });\n });\n it('c группами, если не выбрано то выбирает все в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const testingGroupIndex = 0;\n\n act(() => {\n renderComponent({\n items,\n groups,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getSelectAllOption(testingGroupIndex);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(\n items.filter((item) => item.groupId === groups[testingGroupIndex].id),\n {\n e: expect.any(Object),\n },\n );\n });\n\n it('c группами, если не выбрано то выбирает все в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const testingGroupIndex = 0;\n\n act(() => {\n renderComponent({\n items,\n groups,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getSelectAllOption(testingGroupIndex);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(\n items.filter((item) => item.groupId === groups[testingGroupIndex].id),\n {\n e: expect.any(Object),\n },\n );\n });\n\n it('c группами, если выбран хотя бы 1 то выбирает все в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const testingGroupIndex = 0;\n\n act(() => {\n renderComponent({\n items,\n groups,\n value: [\n items.filter(\n (item) => item.groupId === groups[testingGroupIndex].id,\n )[0],\n ],\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getSelectAllOption(testingGroupIndex);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(\n items.filter((item) => item.groupId === groups[testingGroupIndex].id),\n {\n e: expect.any(Object),\n },\n );\n });\n\n it('c группами, если выбраны все то отменяет все выборы в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const testingGroupIndex = 0;\n\n act(() => {\n renderComponent({\n items,\n groups,\n value: items.filter(\n (item) => item.groupId === groups[testingGroupIndex].id,\n ),\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getSelectAllOption(testingGroupIndex);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith([], {\n e: expect.any(Object),\n });\n });\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectMultiple.test.js","names":["act","fireEvent","render","screen","within","React","createIconMock","cnFieldArrayValueInlineControl","cnFieldControlLayout","cnListBox","cnListItem","cnListLoader","cnSelectControlLayout","cnSelectCreateButton","cnSelectItemAll","SelectMultiple","testId","animationDuration","renderComponent","props","getRender","getByTestId","getOutside","getInput","querySelector","inputClick","click","animateDelay","jest","advanceTimersByTime","getDropdown","queryByRole","outsideClick","mouseDown","getValueControl","getItems","querySelectorAll","getSelectAllOptions","getSelectAllOption","index","getItem","getClearButton","getLoader","getCreateButton","onCreateClick","items","id","label","groupId","itemsWithDisabled","disabled","groups","describe","it","expect","onChange","fn","not","toThrow","placeholder","getByPlaceholderText","toBeInTheDocument","value","getByText","ref","current","toBeTruthy","inputRef","className","toHaveClass","toHaveAttribute","useFakeTimers","map","item","textContent","toEqual","onChangeMock","toHaveBeenCalled","toHaveBeenCalledTimes","toHaveBeenCalledWith","e","any","Object","handlerFocus","onFocus","focus","handlerBlur","onBlur","blur","handlerDropdownOpen","onDropdownOpen","input","keyDown","key","toHaveFocus","onInputChangeMock","onInput","change","target","inputValue","inputDefaultValue","clearButton","handleChange","group","dropdownForm","form","split","view","status","isLoading","onCreate","labelForCreate","iconClear","renderItem","renderValue","selectAll","toHaveTextContent","length","selectAllLabel","testingGroupIndex","filter","container","document","createElement","setAttribute","body","appendChild","dropdownContainer","toBeNull","getByRole"],"sources":["../../../../../../../src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.tsx"],"sourcesContent":["import { act, fireEvent, render, screen, within } from '@testing-library/react';\nimport React from 'react';\n\nimport { createIconMock } from '##/../__mocks__/IconMock';\nimport { cnFieldArrayValueInlineControl } from '##/components/FieldComponents';\nimport { cnFieldControlLayout } from '##/components/FieldComponents/FieldControlLayout';\nimport { cnListBox, cnListItem, cnListLoader } from '##/components/ListCanary';\n\nimport {\n SelectGroupDefault,\n SelectItemDefault,\n SelectPropRenderItem,\n SelectPropRenderValue,\n SelectProps,\n} from '../..';\nimport { cnSelectControlLayout } from '../../SelectControlLayout';\nimport { cnSelectCreateButton } from '../../SelectCreateButton';\nimport { cnSelectItemAll } from '../../SelectItemAll';\nimport { SelectMultiple } from '../SelectMultiple';\n\nconst testId = 'SelectMultipleCanary';\nconst animationDuration = 200;\n\nconst renderComponent = (\n props: SelectProps<SelectItemDefault, SelectGroupDefault, true>,\n) => {\n return render(\n <>\n <div data-testid=\"outside\" />\n <SelectMultiple data-testid={testId} multiple {...props} />\n </>,\n );\n};\n\nconst getRender = () => screen.getByTestId(testId);\nconst getOutside = () => screen.getByTestId('outside') as HTMLDivElement;\nconst getInput = () => getRender().querySelector(`input`) as HTMLInputElement;\nconst inputClick = () => fireEvent.click(getInput());\nconst animateDelay = () => {\n act(() => {\n jest.advanceTimersByTime(animationDuration);\n });\n};\nconst getDropdown = () => screen.queryByRole('listbox') as HTMLDivElement;\nconst outsideClick = () => fireEvent.mouseDown(getOutside());\nconst getValueControl = () =>\n getRender().querySelector(\n `.${cnFieldArrayValueInlineControl()}`,\n ) as HTMLDivElement;\nconst getItems = () =>\n getDropdown().querySelectorAll(\n `.${cnListItem()}`,\n ) as unknown as HTMLDivElement[];\nconst getSelectAllOptions = () =>\n getDropdown().querySelectorAll(\n `.${cnSelectItemAll()}`,\n ) as unknown as HTMLDivElement[];\nconst getSelectAllOption = (index: number = 0) =>\n getSelectAllOptions()[index] as HTMLDivElement;\n\nconst getItem = (index: number = 0) => getItems()[index] as HTMLDivElement;\nconst getClearButton = () =>\n getRender().querySelector(\n `.${cnSelectControlLayout('ClearButton')}`,\n ) as HTMLButtonElement;\nconst getLoader = () =>\n getDropdown().querySelector(`.${cnListLoader()}`) as HTMLDivElement;\nconst getCreateButton = () =>\n getDropdown().querySelector(`.${cnSelectCreateButton()}`) as HTMLDivElement;\nconst onCreateClick = () => fireEvent.click(getCreateButton());\n\nconst items: SelectItemDefault[] = [\n { id: 1, label: 'Item 1', groupId: 1 },\n { id: 2, label: 'Item 2', groupId: 1 },\n { id: 3, label: 'Item 3', groupId: 2 },\n];\n\nconst itemsWithDisabled: SelectItemDefault[] = [\n { id: 1, label: 'Item 1', groupId: 1, disabled: true },\n { id: 2, label: 'Item 2', groupId: 1 },\n { id: 3, label: 'Item 3', groupId: 2, disabled: true },\n];\n\nconst groups: SelectGroupDefault[] = [\n { id: 1, label: 'Group 1' },\n { id: 2, label: 'Group 2' },\n];\n\ndescribe('SelectMultiple', () => {\n // const getItemLabel = (item: { id: number; label: string }) => item.label;\n // const getItemKey = (item: { id: number; label: string }) => item.id;\n\n it('рендерится без ошибок', () => {\n expect(() => renderComponent({ items, onChange: jest.fn() })).not.toThrow();\n });\n\n it('отображает плейсхолдер, если значение не выбрано', () => {\n renderComponent({\n items,\n onChange: jest.fn(),\n placeholder: 'Выберите элемент',\n });\n\n expect(screen.getByPlaceholderText('Выберите элемент')).toBeInTheDocument();\n });\n\n it('отображает выбранное значение', () => {\n renderComponent({\n items,\n value: [items[1]],\n onChange: jest.fn(),\n placeholder: 'Выберите элемент',\n });\n\n expect(screen.getByText('Item 2')).toBeInTheDocument();\n });\n\n it('проверка ref', () => {\n const ref = { current: null };\n renderComponent({ items, ref, onChange: jest.fn() });\n expect(ref.current).toBeTruthy();\n });\n\n it('проверка inputRef', () => {\n const inputRef = { current: null };\n renderComponent({ items, inputRef, onChange: jest.fn() });\n expect(inputRef.current).toBeTruthy();\n });\n\n it('Присваивается дополнительный className', () => {\n const className = 'custom-class';\n renderComponent({ items, className, onChange: jest.fn() });\n expect(getRender()).toHaveClass(className);\n });\n\n it('Присваиваются дополнительные атрибуты', () => {\n renderComponent({\n items,\n 'onChange': jest.fn(),\n 'aria-placeholder': 'test-autocomplete',\n });\n expect(getRender()).toHaveAttribute(\n 'aria-placeholder',\n 'test-autocomplete',\n );\n });\n\n it('открывается по клику', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n });\n\n it('открывается по клику', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n });\n\n it('закрывается по клику вне компонента', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).toBeInTheDocument();\n outsideClick();\n animateDelay();\n\n expect(getDropdown()).not.toBeInTheDocument();\n });\n\n it('Отображаются элементы', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n items.map((item) =>\n expect(screen.getByText(item.label)).toBeInTheDocument(),\n );\n });\n\n it('не открывается по клику при disabled', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, onChange: jest.fn(), disabled: true });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown()).not.toBeInTheDocument();\n });\n\n it('value верно рендерится', () => {\n const value = [items[2]];\n\n renderComponent({\n items,\n value,\n onChange: jest.fn(),\n });\n expect(getValueControl().textContent).toEqual(value[0].label);\n });\n\n it('проверка onChange', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock });\n });\n inputClick();\n animateDelay();\n fireEvent.click(getItem(0));\n expect(onChangeMock).toHaveBeenCalled();\n expect(onChangeMock).toHaveBeenCalledTimes(1);\n expect(onChangeMock).toHaveBeenCalledWith([items[0]], {\n e: expect.any(Object),\n });\n });\n\n describe('проверка onFocus', () => {\n it('проверка onFocus', () => {\n const handlerFocus = jest.fn();\n renderComponent({ items, onChange: jest.fn(), onFocus: handlerFocus });\n\n expect(handlerFocus).toHaveBeenCalledTimes(0);\n\n getInput().focus();\n\n expect(handlerFocus).toHaveBeenCalledTimes(1);\n });\n });\n\n describe('проверка onBlur', () => {\n it('проверка onBlur', () => {\n const handlerBlur = jest.fn();\n renderComponent({ items, onChange: jest.fn(), onBlur: handlerBlur });\n getInput().focus();\n expect(handlerBlur).toHaveBeenCalledTimes(0);\n getInput().blur();\n expect(handlerBlur).toHaveBeenCalledTimes(1);\n });\n });\n\n it('проверка onDropdownOpen', () => {\n const handlerDropdownOpen = jest.fn();\n renderComponent({\n items,\n onChange: jest.fn(),\n onDropdownOpen: handlerDropdownOpen,\n });\n inputClick();\n\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(2);\n outsideClick();\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(3);\n inputClick();\n\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(4);\n outsideClick();\n expect(handlerDropdownOpen).toHaveBeenCalledTimes(5);\n });\n\n it('поддерживает управление с клавиатуры', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock });\n });\n\n const input = getInput();\n fireEvent.focus(input);\n animateDelay();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'ArrowUp' });\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n fireEvent.keyDown(input, { key: 'Enter' });\n\n // переход по клавишам работает\n expect(onChangeMock).toHaveBeenCalledWith([items[1]], {\n e: expect.any(Object),\n });\n\n fireEvent.keyDown(input, { key: 'Escape' });\n animateDelay();\n // закрытие по esc\n expect(getDropdown()).not.toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Enter' });\n animateDelay();\n // открытие по enter\n expect(getDropdown()).toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Tab' });\n animateDelay();\n // закрытие по tab\n expect(getDropdown()).not.toBeInTheDocument();\n\n fireEvent.keyDown(input, { key: 'Tab' });\n\n // снятие фокуса по tab\n expect(input).not.toHaveFocus();\n });\n\n it('disable - управление с клавиатуры не работает', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n act(() => {\n renderComponent({ items, onChange: onChangeMock, disabled: true });\n });\n\n const input = getInput();\n fireEvent.focus(input);\n animateDelay();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n\n fireEvent.keyDown(input, { key: 'ArrowDown' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n\n fireEvent.keyDown(input, { key: 'Enter' });\n\n expect(getDropdown()).not.toBeInTheDocument();\n expect(input).not.toHaveFocus();\n });\n\n it('имеется возможность вводить текст в input', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n const input = getInput();\n\n fireEvent.change(input, { target: { value: 'change' } });\n\n expect(input.value).toEqual('change');\n });\n\n it('имеется возможность вводить текст в input', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n const input = getInput();\n\n fireEvent.change(input, { target: { value: 'change' } });\n\n expect(input.value).toEqual('change');\n expect(onInputChangeMock).toHaveBeenCalledWith('change');\n });\n\n it('при вводе текста в input срабатывает onInput', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n input: true,\n });\n\n fireEvent.change(getInput(), { target: { value: 'change' } });\n\n expect(onInputChangeMock).toHaveBeenCalledTimes(1);\n expect(onInputChangeMock).toHaveBeenCalledWith('change');\n });\n\n it('disabled - при вводе текста в input не срабатывает onInput', () => {\n const onInputChangeMock = jest.fn();\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n disabled: true,\n input: true,\n });\n\n fireEvent.change(getInput(), { target: { value: 'change' } });\n\n expect(onInputChangeMock).not.toHaveBeenCalled();\n });\n\n it('отображается inputValue', () => {\n const onInputChangeMock = jest.fn();\n const inputValue = 'я ищу';\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n inputValue,\n input: true,\n });\n\n expect(getInput().value).toEqual(inputValue);\n });\n\n it('отображается inputDefaultValue', () => {\n const inputDefaultValue = 'я ищу';\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n inputDefaultValue,\n input: true,\n });\n\n expect(getInput().value).toEqual(inputDefaultValue);\n });\n\n it('disabled - при удалении текста по Backspace он не удаляется', () => {\n const onInputChangeMock = jest.fn();\n const inputValue = 'я ищу';\n\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n onInput: onInputChangeMock,\n inputValue,\n disabled: true,\n input: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(getInput().value).toEqual(inputValue);\n });\n\n it('clearButton отображается при выбранном значении', () => {\n renderComponent({\n items,\n value: [items[0]],\n onChange: jest.fn(),\n clearButton: true,\n });\n\n const clearButton = getClearButton();\n\n expect(clearButton).toBeInTheDocument();\n });\n\n it('очищает значение при нажатии на кнопку очистки', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n });\n\n const clearButton = getClearButton();\n fireEvent.click(clearButton);\n\n expect(handleChange).toHaveBeenCalledWith(null, {\n e: expect.any(Object),\n });\n });\n\n it('очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).toHaveBeenCalledWith(null, {\n e: expect.any(Object),\n });\n });\n\n it('disabled - не очищает значение при нажатии на кнопку очистки', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n const clearButton = getClearButton();\n fireEvent.click(clearButton);\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('disabled - не очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('disabled - не очищает значение при нажатии на кнопку Backspace', () => {\n const handleChange = jest.fn();\n renderComponent({\n items,\n value: [items[0]],\n onChange: handleChange,\n clearButton: true,\n disabled: true,\n });\n\n fireEvent.keyDown(getInput(), { key: 'Backspace' });\n\n expect(handleChange).not.toHaveBeenCalled();\n });\n\n it('группы отображаются', () => {\n renderComponent({\n items,\n groups,\n value: [items[0]],\n onChange: jest.fn(),\n });\n\n inputClick();\n animateDelay();\n groups.map((group) =>\n expect(screen.getByText(group.label)).toBeInTheDocument(),\n );\n });\n\n describe('проверка dropdownForm', () => {\n (['default', 'brick', 'round'] as const).map((dropdownForm) => {\n it(`dropdownForm = ${dropdownForm}`, () => {\n jest.useFakeTimers();\n\n act(() => {\n renderComponent({ items, dropdownForm, onChange: jest.fn() });\n });\n inputClick();\n animateDelay();\n expect(getDropdown()).toHaveClass(\n cnListBox({ form: dropdownForm }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка form', () => {\n (\n [\n 'default',\n 'defaultClear',\n 'defaultBrick',\n 'brick',\n 'brickDefault',\n 'brickClear',\n 'brickRound',\n 'round',\n 'roundClear',\n 'roundBrick',\n 'clearRound',\n 'clearDefault',\n 'clearBrick',\n 'clear',\n ] as const\n ).map((form) => {\n it(`form = ${form}`, () => {\n renderComponent({ items, form, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ form }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка view', () => {\n (['default', 'clear'] as const).map((view) => {\n it(`view = ${view}`, () => {\n renderComponent({ items, view, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ view }).split(' ')[1],\n );\n });\n });\n });\n\n describe('проверка status', () => {\n (['alert', 'success', 'warning'] as const).map((status) => {\n it(`status = ${status}`, () => {\n renderComponent({ items, status, onChange: jest.fn() });\n\n expect(getRender()).toHaveClass(\n cnFieldControlLayout({ status }).split(' ')[1],\n );\n });\n });\n });\n\n it('элементы disabled отображаются с соответствущем классом', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items: itemsWithDisabled, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n itemsWithDisabled.map((item, index) => {\n if (item.disabled) {\n expect(getItem(index)).toHaveClass(\n cnListItem({ disabled: true }).split(' ')[1],\n );\n } else {\n expect(getItem(index)).not.toHaveClass(\n cnListItem({ disabled: true }).split(' ')[1],\n );\n }\n });\n });\n\n describe('по элементам disabled не отрабатывает onChange', () => {\n itemsWithDisabled.map((item, index) => {\n it(`item ${index} disabled = ${item.disabled}`, () => {\n jest.useFakeTimers();\n const handleChange = jest.fn();\n act(() => {\n renderComponent({ items: itemsWithDisabled, onChange: handleChange });\n });\n\n inputClick();\n\n animateDelay();\n fireEvent.click(getItem(index));\n if (item.disabled) {\n expect(handleChange).not.toHaveBeenCalled();\n } else {\n expect(handleChange).toHaveBeenCalled();\n }\n });\n });\n });\n\n describe('проверка isLoading', () => {\n it('isLoading = true', () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, isLoading: true, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getLoader()).toBeInTheDocument();\n });\n [false, undefined].map((isLoading) => {\n it(`isLoading = ${isLoading}`, () => {\n jest.useFakeTimers();\n act(() => {\n renderComponent({ items, isLoading, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getLoader()).not.toBeInTheDocument();\n });\n });\n });\n\n it('проверка onCreate', () => {\n jest.useFakeTimers();\n const onCreate = jest.fn();\n const inputValue = 'test';\n act(() => {\n renderComponent({ items, onCreate, inputValue, onChange: jest.fn() });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getCreateButton()).toBeInTheDocument();\n\n onCreateClick();\n\n expect(onCreate).toHaveBeenCalled();\n expect(onCreate).toHaveBeenCalledWith(inputValue, {\n e: expect.any(Object),\n });\n });\n\n it('проверка labelForCreate', () => {\n jest.useFakeTimers();\n const labelForCreate = 'Создать';\n act(() => {\n renderComponent({\n items,\n labelForCreate,\n onCreate: jest.fn(),\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getCreateButton()).toBeInTheDocument();\n });\n\n it('проверка iconClear', () => {\n jest.useFakeTimers();\n const iconClear = createIconMock('iconClear');\n act(() => {\n renderComponent({\n items,\n iconClear,\n clearButton: true,\n inputValue: 'test',\n onCreate: jest.fn(),\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getClearButton().textContent).toEqual('iconClear');\n });\n\n // тестирование renderItem\n it('проверка renderItem', () => {\n jest.useFakeTimers();\n const renderItem: SelectPropRenderItem<SelectItemDefault> = ({ item }) => (\n <div className=\"test\">{item.label}</div>\n );\n act(() => {\n renderComponent({\n items,\n renderItem,\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getDropdown().querySelectorAll('.test')[0]).toBeInTheDocument();\n expect(getDropdown().querySelectorAll('.test')[0].textContent).toEqual(\n items[0].label,\n );\n });\n\n it('проверка renderValue', () => {\n jest.useFakeTimers();\n const renderValue: SelectPropRenderValue<SelectItemDefault, true> = ({\n value,\n }) => (\n <>\n {value.map((item) => (\n <div className=\"test\">{item.label}</div>\n ))}\n </>\n );\n\n act(() => {\n renderComponent({\n items,\n renderValue,\n value: [items[0]],\n onChange: jest.fn(),\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getValueControl().querySelector('.test')).toBeInTheDocument();\n });\n\n it('проверка selectAll', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n // получить элемент selectAl\n });\n\n it('проверка selectAll в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n value: items,\n groups,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n expect(getSelectAllOptions().length).toEqual(2);\n });\n\n it('проверка selectAllLabel', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const selectAllLabel = 'Все';\n\n act(() => {\n renderComponent({\n items,\n selectAll: true,\n onChange: onChangeMock,\n selectAllLabel,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n expect(item).toHaveTextContent(selectAllLabel);\n expect(item).toHaveClass(cnSelectItemAll());\n });\n\n describe('проверка клика selectAll', () => {\n it('если не выбрано то выбирает все', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(items, {\n e: expect.any(Object),\n });\n });\n it('если выбран хотя бы 1 выбрано то выбирает все', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n value: [items[0]],\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(items, {\n e: expect.any(Object),\n });\n });\n it('если выбраны все то отменяет все выборы', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n\n act(() => {\n renderComponent({\n items,\n value: items,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getItem(0);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith([], {\n e: expect.any(Object),\n });\n });\n it('c группами, если не выбрано то выбирает все в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const testingGroupIndex = 0;\n\n act(() => {\n renderComponent({\n items,\n groups,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getSelectAllOption(testingGroupIndex);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(\n items.filter((item) => item.groupId === groups[testingGroupIndex].id),\n {\n e: expect.any(Object),\n },\n );\n });\n\n it('c группами, если не выбрано то выбирает все в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const testingGroupIndex = 0;\n\n act(() => {\n renderComponent({\n items,\n groups,\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getSelectAllOption(testingGroupIndex);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(\n items.filter((item) => item.groupId === groups[testingGroupIndex].id),\n {\n e: expect.any(Object),\n },\n );\n });\n\n it('c группами, если выбран хотя бы 1 то выбирает все в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const testingGroupIndex = 0;\n\n act(() => {\n renderComponent({\n items,\n groups,\n value: [\n items.filter(\n (item) => item.groupId === groups[testingGroupIndex].id,\n )[0],\n ],\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getSelectAllOption(testingGroupIndex);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith(\n items.filter((item) => item.groupId === groups[testingGroupIndex].id),\n {\n e: expect.any(Object),\n },\n );\n });\n\n it('c группами, если выбраны все то отменяет все выборы в группе', () => {\n jest.useFakeTimers();\n const onChangeMock = jest.fn();\n const testingGroupIndex = 0;\n\n act(() => {\n renderComponent({\n items,\n groups,\n value: items.filter(\n (item) => item.groupId === groups[testingGroupIndex].id,\n ),\n selectAll: true,\n onChange: onChangeMock,\n });\n });\n\n inputClick();\n\n animateDelay();\n\n const item = getSelectAllOption(testingGroupIndex);\n\n expect(item).toHaveTextContent('Выбрать все');\n expect(item).toHaveClass(cnSelectItemAll());\n\n fireEvent.click(item);\n expect(onChangeMock).toHaveBeenCalledWith([], {\n e: expect.any(Object),\n });\n });\n });\n\n describe('проверка dropdownContainer', () => {\n it('рендерит dropdown по умолчанию в document.body', () => {\n jest.useFakeTimers();\n\n const container = document.createElement('div');\n container.setAttribute('data-testid', 'container');\n document.body.appendChild(container);\n\n act(() => {\n renderComponent({\n items,\n onChange: jest.fn(),\n dropdownContainer: undefined,\n });\n });\n\n inputClick();\n animateDelay();\n\n expect(screen.queryByRole('listbox')).not.toBeNull();\n\n expect(within(container).queryByRole('listbox')).not.toBeInTheDocument();\n });\n\n it('рендерит dropdown внутри переданного контейнера', () => {\n jest.useFakeTimers();\n\n const container = document.createElement('div');\n container.setAttribute('data-testid', 'container');\n document.body.appendChild(container);\n\n act(() => {\n renderComponent({\n items,\n onChange: jest.fn(),\n dropdownContainer: container,\n });\n });\n\n inputClick();\n animateDelay();\n\n expect(within(container).getByRole('listbox')).toBeInTheDocument();\n });\n });\n});\n"],"mappings":"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"}
@@ -16,6 +16,7 @@ type Props = PropsWithJsxAttributes<{
16
16
  children: React.ReactNode;
17
17
  onMount: (isMount: boolean) => void;
18
18
  viewportRef?: React.RefObject<HTMLElement>;
19
+ container?: Element;
19
20
  }>;
20
21
  export declare const SelectPopover: (props: Props) => JSX.Element;
21
22
  export {};
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["ctx","size","className","openAtom","offset","controlRef","form","anchorRef","children","onMount"];import{classnames}from"@bem-react/classnames";import{reatomComponent}from"@reatom/npm-react";import React,{useCallback,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox}from"../../ListCanary";import{Popover}from"../../Popover";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";export var SelectPopoverForm=["default","brick","round"];export var defaultSelectPopoverPropForm=SelectPopoverForm[0];export var SelectPopover=reatomComponent(function(a){var b=a.ctx,c=a.size,d=a.className,e=a.openAtom,f=a.offset,g=void 0===f?"none":f,h=a.controlRef,i=a.form,j=a.anchorRef,k=a.children,l=a.onMount,m=_objectWithoutProperties(a,_excluded),n="none"===g?void 0:g,o=useRef(null);return React.createElement(Transition,{in:b.spy(e),nodeRef:o,timeout:animateTimeout,unmountOnExit:!0,onEntering:useCallback(function(){return l(!0)},[]),onExited:useCallback(function(){return l(!1)},[])},function(a){return React.createElement(Popover,Object.assign({},m,{anchorRef:j,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:n,ref:o,role:"listbox",className:classnames(d,cnListBox({size:c,form:i,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a})),equalAnchorWidth:!0}),k)})});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["ctx","size","className","openAtom","offset","controlRef","form","anchorRef","children","onMount","container"];import{classnames}from"@bem-react/classnames";import{reatomComponent}from"@reatom/npm-react";import React,{useCallback,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox}from"../../ListCanary";import{Popover}from"../../Popover";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";export var SelectPopoverForm=["default","brick","round"];export var defaultSelectPopoverPropForm=SelectPopoverForm[0];export var SelectPopover=reatomComponent(function(a){var b=a.ctx,c=a.size,d=a.className,e=a.openAtom,f=a.offset,g=void 0===f?"none":f,h=a.controlRef,i=a.form,j=a.anchorRef,k=a.children,l=a.onMount,m=a.container,n=_objectWithoutProperties(a,_excluded),o="none"===g?void 0:g,p=useRef(null);return React.createElement(Transition,{in:b.spy(e),nodeRef:p,timeout:animateTimeout,unmountOnExit:!0,onEntering:useCallback(function(){return l(!0)},[]),onExited:useCallback(function(){return l(!1)},[])},function(a){return React.createElement(Popover,Object.assign({},n,{anchorRef:j,container:m,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:o,ref:p,role:"listbox",className:classnames(d,cnListBox({size:c,form:i,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a})),equalAnchorWidth:!0}),k)})});
2
2
  //# sourceMappingURL=SelectPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectPopover.js","names":["classnames","reatomComponent","React","useCallback","useRef","Transition","cnListBox","Popover","animateTimeout","cnMixPopoverAnimate","SelectPopoverForm","defaultSelectPopoverPropForm","SelectPopover","props","ctx","size","className","openAtom","offset","offsetProp","controlRef","form","anchorRef","children","onMount","otherProps","popoverRef","spy","animate","border","shadow"],"sources":["../../../../../../src/components/SelectCanary/SelectPopover/SelectPopover.tsx"],"sourcesContent":["import { classnames } from '@bem-react/classnames';\nimport { AtomMut } from '@reatom/framework';\nimport { reatomComponent } from '@reatom/npm-react';\nimport React, { useCallback, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { FieldPropSize } from '##/components/FieldComponents';\nimport { cnListBox } from '##/components/ListCanary';\nimport { Popover, PopoverPropOffset } from '##/components/Popover';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '##/mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nexport const SelectPopoverForm = ['default', 'brick', 'round'] as const;\nexport type SelectPopoverPropForm = typeof SelectPopoverForm[number];\nexport const defaultSelectPopoverPropForm = SelectPopoverForm[0];\n\ntype Props = PropsWithJsxAttributes<{\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n form: SelectPopoverPropForm;\n openAtom: AtomMut<boolean>;\n size: FieldPropSize;\n offset?: PopoverPropOffset | 'none';\n anchorRef: React.RefObject<HTMLElement> | undefined;\n children: React.ReactNode;\n onMount: (isMount: boolean) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n}>;\n\nexport const SelectPopover = reatomComponent<Props>((props) => {\n const {\n ctx,\n size,\n className,\n openAtom,\n offset: offsetProp = 'none',\n controlRef,\n form,\n anchorRef,\n children,\n onMount,\n ...otherProps\n } = props;\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n return (\n <Transition\n in={ctx.spy(openAtom)}\n nodeRef={popoverRef}\n timeout={animateTimeout}\n unmountOnExit\n onEntering={useCallback(() => onMount(true), [])}\n onExited={useCallback(() => onMount(false), [])}\n >\n {(animate) => {\n return (\n <Popover\n {...otherProps}\n anchorRef={anchorRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={classnames(\n className,\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n )}\n equalAnchorWidth\n >\n {children}\n </Popover>\n );\n }}\n </Transition>\n );\n});\n"],"mappings":"uMAAA,OAASA,UAAT,KAA2B,uBAA3B,CAEA,OAASC,eAAT,KAAgC,mBAAhC,CACA,MAAOC,MAAP,EAAgBC,WAAhB,CAA6BC,MAA7B,KAA2C,OAA3C,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAGA,OAASC,SAAT,wBACA,OAASC,OAAT,qBACA,OACEC,cADF,CAEEC,mBAFF,yDAMA,MAAO,IAAMC,kBAAiB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,OAArB,CAA1B,CAEP,MAAO,IAAMC,6BAA4B,CAAGD,iBAAiB,CAAC,CAAD,CAAtD,CAcP,MAAO,IAAME,cAAa,CAAGX,eAAe,CAAQ,SAACY,CAAD,CAAW,IAE3DC,EAF2D,CAazDD,CAbyD,CAE3DC,GAF2D,CAG3DC,CAH2D,CAazDF,CAbyD,CAG3DE,IAH2D,CAI3DC,CAJ2D,CAazDH,CAbyD,CAI3DG,SAJ2D,CAK3DC,CAL2D,CAazDJ,CAbyD,CAK3DI,QAL2D,GAazDJ,CAbyD,CAM3DK,MAN2D,CAMnDC,CANmD,YAMtC,MANsC,GAO3DC,CAP2D,CAazDP,CAbyD,CAO3DO,UAP2D,CAQ3DC,CAR2D,CAazDR,CAbyD,CAQ3DQ,IAR2D,CAS3DC,CAT2D,CAazDT,CAbyD,CAS3DS,SAT2D,CAU3DC,CAV2D,CAazDV,CAbyD,CAU3DU,QAV2D,CAW3DC,CAX2D,CAazDX,CAbyD,CAW3DW,OAX2D,CAYxDC,CAZwD,0BAazDZ,CAbyD,YAevDK,CAAM,CAAkB,MAAf,GAAAC,CAAU,QAA0BA,CAfU,CAiBvDO,CAAU,CAAGtB,MAAM,CAAiB,IAAjB,CAjBoC,CAmB7D,MACE,qBAAC,UAAD,EACE,GAAIU,CAAG,CAACa,GAAJ,CAAQV,CAAR,CADN,CAEE,OAAO,CAAES,CAFX,CAGE,OAAO,CAAElB,cAHX,CAIE,aAAa,GAJf,CAKE,UAAU,CAAEL,WAAW,CAAC,iBAAMqB,EAAO,IAAb,CAAD,CAAsB,EAAtB,CALzB,CAME,QAAQ,CAAErB,WAAW,CAAC,iBAAMqB,EAAO,IAAb,CAAD,CAAuB,EAAvB,CANvB,EAQG,SAACI,CAAD,CAAa,CACZ,MACE,qBAAC,OAAD,kBACMH,CADN,EAEE,SAAS,CAAEH,CAFb,CAGE,SAAS,CAAC,eAHZ,CAIE,kBAAkB,CAAE,CAClB,eADkB,CAElB,aAFkB,CAGlB,gBAHkB,CAIlB,cAJkB,CAJtB,CAUE,MAAM,CAAEJ,CAVV,CAWE,GAAG,CAAEQ,CAXP,CAYE,IAAI,CAAC,SAZP,CAaE,SAAS,CAAE1B,UAAU,CACnBgB,CADmB,CAEnBV,SAAS,CAAC,CAAES,IAAI,CAAJA,CAAF,CAAQM,IAAI,CAAJA,CAAR,CAAcQ,MAAM,GAApB,CAA4BC,MAAM,GAAlC,CAAD,CAFU,CAGnBrB,mBAAmB,CAAC,CAAEmB,OAAO,CAAPA,CAAF,CAAD,CAHA,CAbvB,CAkBE,gBAAgB,GAlBlB,GAoBGL,CApBH,CAuBH,CAjCH,CAoCH,CAxD2C,CAArC"}
1
+ {"version":3,"file":"SelectPopover.js","names":["classnames","reatomComponent","React","useCallback","useRef","Transition","cnListBox","Popover","animateTimeout","cnMixPopoverAnimate","SelectPopoverForm","defaultSelectPopoverPropForm","SelectPopover","props","ctx","size","className","openAtom","offset","offsetProp","controlRef","form","anchorRef","children","onMount","container","otherProps","popoverRef","spy","animate","border","shadow"],"sources":["../../../../../../src/components/SelectCanary/SelectPopover/SelectPopover.tsx"],"sourcesContent":["import { classnames } from '@bem-react/classnames';\nimport { AtomMut } from '@reatom/framework';\nimport { reatomComponent } from '@reatom/npm-react';\nimport React, { useCallback, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { FieldPropSize } from '##/components/FieldComponents';\nimport { cnListBox } from '##/components/ListCanary';\nimport { Popover, PopoverPropOffset } from '##/components/Popover';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '##/mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nexport const SelectPopoverForm = ['default', 'brick', 'round'] as const;\nexport type SelectPopoverPropForm = typeof SelectPopoverForm[number];\nexport const defaultSelectPopoverPropForm = SelectPopoverForm[0];\n\ntype Props = PropsWithJsxAttributes<{\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n form: SelectPopoverPropForm;\n openAtom: AtomMut<boolean>;\n size: FieldPropSize;\n offset?: PopoverPropOffset | 'none';\n anchorRef: React.RefObject<HTMLElement> | undefined;\n children: React.ReactNode;\n onMount: (isMount: boolean) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n}>;\n\nexport const SelectPopover = reatomComponent<Props>((props) => {\n const {\n ctx,\n size,\n className,\n openAtom,\n offset: offsetProp = 'none',\n controlRef,\n form,\n anchorRef,\n children,\n onMount,\n container,\n ...otherProps\n } = props;\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n return (\n <Transition\n in={ctx.spy(openAtom)}\n nodeRef={popoverRef}\n timeout={animateTimeout}\n unmountOnExit\n onEntering={useCallback(() => onMount(true), [])}\n onExited={useCallback(() => onMount(false), [])}\n >\n {(animate) => {\n return (\n <Popover\n {...otherProps}\n anchorRef={anchorRef}\n container={container}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={classnames(\n className,\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n )}\n equalAnchorWidth\n >\n {children}\n </Popover>\n );\n }}\n </Transition>\n );\n});\n"],"mappings":"mNAAA,OAASA,UAAT,KAA2B,uBAA3B,CAEA,OAASC,eAAT,KAAgC,mBAAhC,CACA,MAAOC,MAAP,EAAgBC,WAAhB,CAA6BC,MAA7B,KAA2C,OAA3C,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAGA,OAASC,SAAT,wBACA,OAASC,OAAT,qBACA,OACEC,cADF,CAEEC,mBAFF,yDAMA,MAAO,IAAMC,kBAAiB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,OAArB,CAA1B,CAEP,MAAO,IAAMC,6BAA4B,CAAGD,iBAAiB,CAAC,CAAD,CAAtD,CAeP,MAAO,IAAME,cAAa,CAAGX,eAAe,CAAQ,SAACY,CAAD,CAAW,IAE3DC,EAF2D,CAczDD,CAdyD,CAE3DC,GAF2D,CAG3DC,CAH2D,CAczDF,CAdyD,CAG3DE,IAH2D,CAI3DC,CAJ2D,CAczDH,CAdyD,CAI3DG,SAJ2D,CAK3DC,CAL2D,CAczDJ,CAdyD,CAK3DI,QAL2D,GAczDJ,CAdyD,CAM3DK,MAN2D,CAMnDC,CANmD,YAMtC,MANsC,GAO3DC,CAP2D,CAczDP,CAdyD,CAO3DO,UAP2D,CAQ3DC,CAR2D,CAczDR,CAdyD,CAQ3DQ,IAR2D,CAS3DC,CAT2D,CAczDT,CAdyD,CAS3DS,SAT2D,CAU3DC,CAV2D,CAczDV,CAdyD,CAU3DU,QAV2D,CAW3DC,CAX2D,CAczDX,CAdyD,CAW3DW,OAX2D,CAY3DC,CAZ2D,CAczDZ,CAdyD,CAY3DY,SAZ2D,CAaxDC,CAbwD,0BAczDb,CAdyD,YAgBvDK,CAAM,CAAkB,MAAf,GAAAC,CAAU,QAA0BA,CAhBU,CAkBvDQ,CAAU,CAAGvB,MAAM,CAAiB,IAAjB,CAlBoC,CAoB7D,MACE,qBAAC,UAAD,EACE,GAAIU,CAAG,CAACc,GAAJ,CAAQX,CAAR,CADN,CAEE,OAAO,CAAEU,CAFX,CAGE,OAAO,CAAEnB,cAHX,CAIE,aAAa,GAJf,CAKE,UAAU,CAAEL,WAAW,CAAC,iBAAMqB,EAAO,IAAb,CAAD,CAAsB,EAAtB,CALzB,CAME,QAAQ,CAAErB,WAAW,CAAC,iBAAMqB,EAAO,IAAb,CAAD,CAAuB,EAAvB,CANvB,EAQG,SAACK,CAAD,CAAa,CACZ,MACE,qBAAC,OAAD,kBACMH,CADN,EAEE,SAAS,CAAEJ,CAFb,CAGE,SAAS,CAAEG,CAHb,CAIE,SAAS,CAAC,eAJZ,CAKE,kBAAkB,CAAE,CAClB,eADkB,CAElB,aAFkB,CAGlB,gBAHkB,CAIlB,cAJkB,CALtB,CAWE,MAAM,CAAEP,CAXV,CAYE,GAAG,CAAES,CAZP,CAaE,IAAI,CAAC,SAbP,CAcE,SAAS,CAAE3B,UAAU,CACnBgB,CADmB,CAEnBV,SAAS,CAAC,CAAES,IAAI,CAAJA,CAAF,CAAQM,IAAI,CAAJA,CAAR,CAAcS,MAAM,GAApB,CAA4BC,MAAM,GAAlC,CAAD,CAFU,CAGnBtB,mBAAmB,CAAC,CAAEoB,OAAO,CAAPA,CAAF,CAAD,CAHA,CAdvB,CAmBE,gBAAgB,GAnBlB,GAqBGN,CArBH,CAwBH,CAlCH,CAqCH,CA1D2C,CAArC"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["form","status","size","disabled","value","renderValue","isLoading","dropdownRef","dropdownForm","renderItem","getGroupLabel","labelForCreate","labelForEmptyItems","virtualScroll","onScrollToBottom","style","className","placeholder","view","iconClear","input","inputValue","inputDefaultValue","inputRef","aria-label","getGroupKey","getItemDisabled","getItemGroupKey","getItemKey","getItemLabel","items","onChange","dropdownClassName","onFocus","onBlur","onCreate","onInput","multiple","groups","onDropdownOpen","ignoreOutsideClicksRefs","clearButton","selectAll","selectAllLabel","dropdownViewportRef"];import{useAction}from"@reatom/npm-react";import React,{forwardRef}from"react";import{SelectDropdown}from"../SelectDropdown";import{SelectItem}from"../SelectItem";import{useForkRef}from"../../../hooks/useForkRef";import{cnCanary as cn}from"../../../utils/bem";import{useSendToAtom}from"../../../utils/state";import{withCtx}from"../../../utils/state/withCtx";import{withDefault}from"../defaultProps";import{SelectControlLayout}from"../SelectControlLayout";import{SelectInput}from"../SelectInput";import{useSelect}from"../useSelect";var cnSelectSingle=cn("SelectSelectSingleMultiple"),SelectSingleRender=function(a,b){var c=withDefault(a),d=useSendToAtom(c),e=c.form,f=c.status,g=c.size,h=c.disabled,i=c.value,j=c.renderValue,k=c.isLoading,l=c.dropdownRef,m=c.dropdownForm,n=c.renderItem,o=c.getGroupLabel,p=c.labelForCreate,q=c.labelForEmptyItems,r=c.virtualScroll,s=c.onScrollToBottom,t=c.style,u=c.className,v=c.placeholder,w=c.view,x=c.iconClear,y=c.input,z=c.inputValue,A=c.inputDefaultValue,B=c.inputRef,C=c["aria-label"],D=c.getGroupKey,E=c.getItemDisabled,F=c.getItemGroupKey,G=c.getItemKey,H=c.getItemLabel,I=c.items,J=c.onChange,K=c.dropdownClassName,L=c.onFocus,M=c.onBlur,N=c.onCreate,O=c.onInput,P=c.multiple,Q=c.groups,R=c.onDropdownOpen,S=c.ignoreOutsideClicksRefs,T=c.clearButton,U=c.selectAll,V=c.selectAllLabel,W=c.dropdownViewportRef,X=_objectWithoutProperties(c,_excluded),Y=useAction(function(a,b){var c=b.value;return a.get(d).getItemLabel(c)},[]),Z=useAction(function(a,b){var c=b.item,e=b.active,f=b.hovered,g=b.onClick,h=b.onMouseEnter,i=b.ref,j=a.get(d),k=j.getItemLabel,l=j.size,m=j.dropdownForm,n=j.getItemDisabled;return React.createElement(SelectItem,{label:k(c),active:e,hovered:f,size:l,indent:"round"===m?"increased":"normal",onClick:g,onMouseEnter:h,disabled:n(c),ref:i})},[]),$=useSelect({propsAtom:d}),_=$.getOptionActions,aa=$.openAtom,ba=$.visibleItemsAtom,ca=$.focusAtom,da=$.handleInputFocus,ea=$.handleInputBlur,fa=$.handleToggleDropdown,ga=$.inputRef,ha=$.handleInputClick,ia=$.handleInputChange,ja=$.clearValue,ka=$.optionsRefs,la=$.controlRef,ma=$.dropdownRef,na=$.clearButtonAtom,oa=$.highlightedIndexAtom,pa=$.getItemKeyAtom,qa=$.valueAtom,ra=$.onChangeAll,sa=$.highlightIndex,ta=$.onCreate,ua=$.onChange,va=$.inputValueAtom,wa=$.hasItemsAtom,xa=$.groupsCounterAtom,ya=$.dropdownZIndexAtom;return React.createElement(React.Fragment,null,React.createElement(SelectControlLayout,Object.assign({},X,{style:t,className:cnSelectSingle(null,[u]),form:e,status:f,size:g,disabled:h,separator:!0,onClear:ja,onDropdownButton:fa,openAtom:aa,focusAtom:ca,view:w,iconClear:x,clearButtonAtom:na,ref:useForkRef([b,la])}),React.createElement(SelectInput,{onFocus:da,onBlur:ea,ref:useForkRef([ga,B]),onClick:ha,onChange:y?ia:void 0,value:y?z:void 0,defaultValue:y?A:void 0,readOnly:!y||void 0,disabled:h,placeholder:v,"aria-label":C},i&&(j||Y)({value:i}))),React.createElement(SelectDropdown,{valueAtom:qa,getItemKeyAtom:pa,openAtom:aa,size:g,controlRef:la,getOptionActions:_,dropdownRef:useForkRef([ma,l]),form:m,className:K,renderItem:n||Z,getGroupLabel:o,visibleItemsAtom:ba,labelForCreate:p,isLoading:k,labelForEmptyItems:q,itemsRefs:ka,virtualScroll:r,onScrollToBottom:s,highlightedIndexAtom:oa,highlightIndex:sa,onChangeAll:ra,onCreate:ta,onChange:ua,inputValueAtom:va,hasItemsAtom:wa,groupsCounterAtom:xa,dropdownZIndexAtom:ya,selectAllLabel:V,viewportRef:W}))};export var SelectSingle=withCtx(forwardRef(SelectSingleRender));
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["form","status","size","disabled","value","renderValue","isLoading","dropdownRef","dropdownForm","renderItem","getGroupLabel","labelForCreate","labelForEmptyItems","virtualScroll","onScrollToBottom","style","className","placeholder","view","iconClear","input","inputValue","inputDefaultValue","inputRef","aria-label","getGroupKey","getItemDisabled","getItemGroupKey","getItemKey","getItemLabel","items","onChange","dropdownClassName","onFocus","onBlur","onCreate","onInput","multiple","groups","onDropdownOpen","ignoreOutsideClicksRefs","clearButton","selectAll","selectAllLabel","dropdownViewportRef","dropdownContainer"];import{useAction}from"@reatom/npm-react";import React,{forwardRef}from"react";import{SelectDropdown}from"../SelectDropdown";import{SelectItem}from"../SelectItem";import{useForkRef}from"../../../hooks/useForkRef";import{cnCanary as cn}from"../../../utils/bem";import{useSendToAtom}from"../../../utils/state";import{withCtx}from"../../../utils/state/withCtx";import{withDefault}from"../defaultProps";import{SelectControlLayout}from"../SelectControlLayout";import{SelectInput}from"../SelectInput";import{useSelect}from"../useSelect";var cnSelectSingle=cn("SelectSelectSingleMultiple"),SelectSingleRender=function(a,b){var c=withDefault(a),d=useSendToAtom(c),e=c.form,f=c.status,g=c.size,h=c.disabled,i=c.value,j=c.renderValue,k=c.isLoading,l=c.dropdownRef,m=c.dropdownForm,n=c.renderItem,o=c.getGroupLabel,p=c.labelForCreate,q=c.labelForEmptyItems,r=c.virtualScroll,s=c.onScrollToBottom,t=c.style,u=c.className,v=c.placeholder,w=c.view,x=c.iconClear,y=c.input,z=c.inputValue,A=c.inputDefaultValue,B=c.inputRef,C=c["aria-label"],D=c.getGroupKey,E=c.getItemDisabled,F=c.getItemGroupKey,G=c.getItemKey,H=c.getItemLabel,I=c.items,J=c.onChange,K=c.dropdownClassName,L=c.onFocus,M=c.onBlur,N=c.onCreate,O=c.onInput,P=c.multiple,Q=c.groups,R=c.onDropdownOpen,S=c.ignoreOutsideClicksRefs,T=c.clearButton,U=c.selectAll,V=c.selectAllLabel,W=c.dropdownViewportRef,X=c.dropdownContainer,Y=_objectWithoutProperties(c,_excluded),Z=useAction(function(a,b){var c=b.value;return a.get(d).getItemLabel(c)},[]),$=useAction(function(a,b){var c=b.item,e=b.active,f=b.hovered,g=b.onClick,h=b.onMouseEnter,i=b.ref,j=a.get(d),k=j.getItemLabel,l=j.size,m=j.dropdownForm,n=j.getItemDisabled;return React.createElement(SelectItem,{label:k(c),active:e,hovered:f,size:l,indent:"round"===m?"increased":"normal",onClick:g,onMouseEnter:h,disabled:n(c),ref:i})},[]),_=useSelect({propsAtom:d}),aa=_.getOptionActions,ba=_.openAtom,ca=_.visibleItemsAtom,da=_.focusAtom,ea=_.handleInputFocus,fa=_.handleInputBlur,ga=_.handleToggleDropdown,ha=_.inputRef,ia=_.handleInputClick,ja=_.handleInputChange,ka=_.clearValue,la=_.optionsRefs,ma=_.controlRef,na=_.dropdownRef,oa=_.clearButtonAtom,pa=_.highlightedIndexAtom,qa=_.getItemKeyAtom,ra=_.valueAtom,sa=_.onChangeAll,ta=_.highlightIndex,ua=_.onCreate,va=_.onChange,wa=_.inputValueAtom,xa=_.hasItemsAtom,ya=_.groupsCounterAtom,za=_.dropdownZIndexAtom;return React.createElement(React.Fragment,null,React.createElement(SelectControlLayout,Object.assign({},Y,{style:t,className:cnSelectSingle(null,[u]),form:e,status:f,size:g,disabled:h,separator:!0,onClear:ka,onDropdownButton:ga,openAtom:ba,focusAtom:da,view:w,iconClear:x,clearButtonAtom:oa,ref:useForkRef([b,ma])}),React.createElement(SelectInput,{onFocus:ea,onBlur:fa,ref:useForkRef([ha,B]),onClick:ia,onChange:y?ja:void 0,value:y?z:void 0,defaultValue:y?A:void 0,readOnly:!y||void 0,disabled:h,placeholder:v,"aria-label":C},i&&(j||Z)({value:i}))),React.createElement(SelectDropdown,{valueAtom:ra,getItemKeyAtom:qa,openAtom:ba,size:g,controlRef:ma,getOptionActions:aa,dropdownRef:useForkRef([na,l]),form:m,className:K,renderItem:n||$,getGroupLabel:o,visibleItemsAtom:ca,labelForCreate:p,isLoading:k,labelForEmptyItems:q,itemsRefs:la,virtualScroll:r,onScrollToBottom:s,highlightedIndexAtom:pa,highlightIndex:ta,onChangeAll:sa,onCreate:ua,onChange:va,inputValueAtom:wa,hasItemsAtom:xa,groupsCounterAtom:ya,dropdownZIndexAtom:za,selectAllLabel:V,viewportRef:W,container:X}))};export var SelectSingle=withCtx(forwardRef(SelectSingleRender));
2
2
  //# sourceMappingURL=SelectSingle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectSingle.js","names":["useAction","React","forwardRef","SelectDropdown","SelectItem","useForkRef","cnCanary","cn","useSendToAtom","withCtx","withDefault","SelectControlLayout","SelectInput","useSelect","cnSelectSingle","SelectSingleRender","props","ref","propsWithDefault","propsAtom","form","status","size","disabled","value","renderValue","isLoading","dropdownRefProp","dropdownForm","renderItem","getGroupLabel","labelForCreate","labelForEmptyItems","virtualScroll","onScrollToBottom","style","className","placeholder","view","iconClear","input","inputValue","inputDefaultValue","inputRefProp","ariaLabel","getGroupKey","getItemDisabled","getItemGroupKey","getItemKey","getItemLabel","items","onChangeProp","dropdownClassName","onFocus","onBlur","onCreateProp","onInput","multiple","groups","onDropdownOpen","ignoreOutsideClicksRefs","clearButton","selectAll","selectAllLabel","dropdownViewportRef","otherProps","renderValueDefault","ctx","get","renderItemDefault","item","active","hovered","onClick","onMouseEnter","getOptionActions","openAtom","visibleItemsAtom","focusAtom","handleInputFocus","handleInputBlur","handleToggleDropdown","inputRef","handleInputClick","handleInputChange","clearValue","optionsRefs","controlRef","dropdownRef","clearButtonAtom","highlightedIndexAtom","getItemKeyAtom","valueAtom","onChangeAll","highlightIndex","onCreate","onChange","inputValueAtom","hasItemsAtom","groupsCounterAtom","dropdownZIndexAtom","SelectSingle"],"sources":["../../../../../../src/components/SelectCanary/SelectSingle/SelectSingle.tsx"],"sourcesContent":["import { useAction } from '@reatom/npm-react';\nimport React, { forwardRef } from 'react';\n\nimport { SelectDropdown } from '##/components/SelectCanary/SelectDropdown';\nimport { SelectItem } from '##/components/SelectCanary/SelectItem';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnCanary as cn } from '##/utils/bem';\nimport { useSendToAtom } from '##/utils/state';\nimport { withCtx } from '##/utils/state/withCtx';\n\nimport {\n RenderItemProps,\n SelectComponent,\n SelectGroupDefault,\n SelectItemDefault,\n SelectPropRenderValue,\n SelectProps,\n} from '..';\nimport { withDefault } from '../defaultProps';\nimport { SelectControlLayout } from '../SelectControlLayout';\nimport { SelectInput } from '../SelectInput';\nimport { useSelect } from '../useSelect';\n\nconst cnSelectSingle = cn('SelectSelectSingleMultiple');\n\nconst SelectSingleRender = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n>(\n props: SelectProps<ITEM, GROUP, false>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const propsWithDefault = withDefault(props);\n\n const propsAtom = useSendToAtom(propsWithDefault);\n\n const {\n form,\n status,\n size,\n disabled,\n value,\n renderValue,\n isLoading,\n 'dropdownRef': dropdownRefProp,\n dropdownForm,\n renderItem,\n getGroupLabel,\n labelForCreate,\n labelForEmptyItems,\n virtualScroll,\n onScrollToBottom,\n style,\n className,\n placeholder,\n view,\n iconClear,\n input,\n inputValue,\n inputDefaultValue,\n 'inputRef': inputRefProp,\n 'aria-label': ariaLabel,\n\n // исключаем из otherProps\n getGroupKey,\n getItemDisabled,\n getItemGroupKey,\n getItemKey,\n getItemLabel,\n items,\n 'onChange': onChangeProp,\n dropdownClassName,\n onFocus,\n onBlur,\n 'onCreate': onCreateProp,\n onInput,\n multiple,\n groups,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n clearButton,\n selectAll,\n selectAllLabel,\n dropdownViewportRef,\n ...otherProps\n } = propsWithDefault;\n\n const renderValueDefault: SelectPropRenderValue<ITEM, false> = useAction(\n (ctx, { value }: { value: ITEM }) => ctx.get(propsAtom).getItemLabel(value),\n [],\n );\n\n const renderItemDefault = useAction(\n (\n ctx,\n {\n item,\n active,\n hovered,\n onClick,\n onMouseEnter,\n ref,\n }: RenderItemProps<ITEM>,\n ) => {\n const { getItemLabel, size, dropdownForm, getItemDisabled } =\n ctx.get(propsAtom);\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n },\n [],\n );\n\n const {\n getOptionActions,\n openAtom,\n visibleItemsAtom,\n focusAtom,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n clearValue,\n optionsRefs,\n controlRef,\n dropdownRef,\n clearButtonAtom,\n highlightedIndexAtom,\n getItemKeyAtom,\n valueAtom,\n onChangeAll,\n highlightIndex,\n onCreate,\n onChange,\n inputValueAtom,\n hasItemsAtom,\n groupsCounterAtom,\n dropdownZIndexAtom,\n } = useSelect<ITEM, GROUP, false>({\n propsAtom,\n });\n\n return (\n <>\n <SelectControlLayout\n {...otherProps}\n style={style}\n className={cnSelectSingle(null, [className])}\n form={form}\n status={status}\n size={size}\n disabled={disabled}\n separator\n onClear={clearValue}\n onDropdownButton={handleToggleDropdown}\n openAtom={openAtom}\n focusAtom={focusAtom}\n view={view}\n iconClear={iconClear}\n clearButtonAtom={clearButtonAtom}\n ref={useForkRef([ref, controlRef])}\n >\n <SelectInput\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n ref={useForkRef([inputRef, inputRefProp])}\n onClick={handleInputClick}\n onChange={input ? handleInputChange : undefined}\n value={input ? inputValue : undefined}\n defaultValue={input ? inputDefaultValue : undefined}\n readOnly={input ? undefined : true}\n disabled={disabled}\n placeholder={placeholder}\n aria-label={ariaLabel}\n >\n {value && (renderValue || renderValueDefault)({ value })}\n </SelectInput>\n </SelectControlLayout>\n <SelectDropdown\n valueAtom={valueAtom}\n getItemKeyAtom={getItemKeyAtom}\n openAtom={openAtom}\n size={size}\n controlRef={controlRef}\n getOptionActions={getOptionActions}\n dropdownRef={useForkRef([dropdownRef, dropdownRefProp])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItemsAtom={visibleItemsAtom}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n highlightedIndexAtom={highlightedIndexAtom}\n highlightIndex={highlightIndex}\n onChangeAll={onChangeAll}\n onCreate={onCreate}\n onChange={onChange}\n inputValueAtom={inputValueAtom}\n hasItemsAtom={hasItemsAtom}\n groupsCounterAtom={groupsCounterAtom}\n dropdownZIndexAtom={dropdownZIndexAtom}\n selectAllLabel={selectAllLabel}\n viewportRef={dropdownViewportRef}\n />\n </>\n );\n};\n\nexport const SelectSingle = withCtx(\n forwardRef(SelectSingleRender),\n) as SelectComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectSingle.js","names":["useAction","React","forwardRef","SelectDropdown","SelectItem","useForkRef","cnCanary","cn","useSendToAtom","withCtx","withDefault","SelectControlLayout","SelectInput","useSelect","cnSelectSingle","SelectSingleRender","props","ref","propsWithDefault","propsAtom","form","status","size","disabled","value","renderValue","isLoading","dropdownRefProp","dropdownForm","renderItem","getGroupLabel","labelForCreate","labelForEmptyItems","virtualScroll","onScrollToBottom","style","className","placeholder","view","iconClear","input","inputValue","inputDefaultValue","inputRefProp","ariaLabel","getGroupKey","getItemDisabled","getItemGroupKey","getItemKey","getItemLabel","items","onChangeProp","dropdownClassName","onFocus","onBlur","onCreateProp","onInput","multiple","groups","onDropdownOpen","ignoreOutsideClicksRefs","clearButton","selectAll","selectAllLabel","dropdownViewportRef","dropdownContainer","otherProps","renderValueDefault","ctx","get","renderItemDefault","item","active","hovered","onClick","onMouseEnter","getOptionActions","openAtom","visibleItemsAtom","focusAtom","handleInputFocus","handleInputBlur","handleToggleDropdown","inputRef","handleInputClick","handleInputChange","clearValue","optionsRefs","controlRef","dropdownRef","clearButtonAtom","highlightedIndexAtom","getItemKeyAtom","valueAtom","onChangeAll","highlightIndex","onCreate","onChange","inputValueAtom","hasItemsAtom","groupsCounterAtom","dropdownZIndexAtom","SelectSingle"],"sources":["../../../../../../src/components/SelectCanary/SelectSingle/SelectSingle.tsx"],"sourcesContent":["import { useAction } from '@reatom/npm-react';\nimport React, { forwardRef } from 'react';\n\nimport { SelectDropdown } from '##/components/SelectCanary/SelectDropdown';\nimport { SelectItem } from '##/components/SelectCanary/SelectItem';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnCanary as cn } from '##/utils/bem';\nimport { useSendToAtom } from '##/utils/state';\nimport { withCtx } from '##/utils/state/withCtx';\n\nimport {\n RenderItemProps,\n SelectComponent,\n SelectGroupDefault,\n SelectItemDefault,\n SelectPropRenderValue,\n SelectProps,\n} from '..';\nimport { withDefault } from '../defaultProps';\nimport { SelectControlLayout } from '../SelectControlLayout';\nimport { SelectInput } from '../SelectInput';\nimport { useSelect } from '../useSelect';\n\nconst cnSelectSingle = cn('SelectSelectSingleMultiple');\n\nconst SelectSingleRender = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n>(\n props: SelectProps<ITEM, GROUP, false>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const propsWithDefault = withDefault(props);\n\n const propsAtom = useSendToAtom(propsWithDefault);\n\n const {\n form,\n status,\n size,\n disabled,\n value,\n renderValue,\n isLoading,\n 'dropdownRef': dropdownRefProp,\n dropdownForm,\n renderItem,\n getGroupLabel,\n labelForCreate,\n labelForEmptyItems,\n virtualScroll,\n onScrollToBottom,\n style,\n className,\n placeholder,\n view,\n iconClear,\n input,\n inputValue,\n inputDefaultValue,\n 'inputRef': inputRefProp,\n 'aria-label': ariaLabel,\n\n // исключаем из otherProps\n getGroupKey,\n getItemDisabled,\n getItemGroupKey,\n getItemKey,\n getItemLabel,\n items,\n 'onChange': onChangeProp,\n dropdownClassName,\n onFocus,\n onBlur,\n 'onCreate': onCreateProp,\n onInput,\n multiple,\n groups,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n clearButton,\n selectAll,\n selectAllLabel,\n dropdownViewportRef,\n dropdownContainer,\n ...otherProps\n } = propsWithDefault;\n\n const renderValueDefault: SelectPropRenderValue<ITEM, false> = useAction(\n (ctx, { value }: { value: ITEM }) => ctx.get(propsAtom).getItemLabel(value),\n [],\n );\n\n const renderItemDefault = useAction(\n (\n ctx,\n {\n item,\n active,\n hovered,\n onClick,\n onMouseEnter,\n ref,\n }: RenderItemProps<ITEM>,\n ) => {\n const { getItemLabel, size, dropdownForm, getItemDisabled } =\n ctx.get(propsAtom);\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n },\n [],\n );\n\n const {\n getOptionActions,\n openAtom,\n visibleItemsAtom,\n focusAtom,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n clearValue,\n optionsRefs,\n controlRef,\n dropdownRef,\n clearButtonAtom,\n highlightedIndexAtom,\n getItemKeyAtom,\n valueAtom,\n onChangeAll,\n highlightIndex,\n onCreate,\n onChange,\n inputValueAtom,\n hasItemsAtom,\n groupsCounterAtom,\n dropdownZIndexAtom,\n } = useSelect<ITEM, GROUP, false>({\n propsAtom,\n });\n\n return (\n <>\n <SelectControlLayout\n {...otherProps}\n style={style}\n className={cnSelectSingle(null, [className])}\n form={form}\n status={status}\n size={size}\n disabled={disabled}\n separator\n onClear={clearValue}\n onDropdownButton={handleToggleDropdown}\n openAtom={openAtom}\n focusAtom={focusAtom}\n view={view}\n iconClear={iconClear}\n clearButtonAtom={clearButtonAtom}\n ref={useForkRef([ref, controlRef])}\n >\n <SelectInput\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n ref={useForkRef([inputRef, inputRefProp])}\n onClick={handleInputClick}\n onChange={input ? handleInputChange : undefined}\n value={input ? inputValue : undefined}\n defaultValue={input ? inputDefaultValue : undefined}\n readOnly={input ? undefined : true}\n disabled={disabled}\n placeholder={placeholder}\n aria-label={ariaLabel}\n >\n {value && (renderValue || renderValueDefault)({ value })}\n </SelectInput>\n </SelectControlLayout>\n <SelectDropdown\n valueAtom={valueAtom}\n getItemKeyAtom={getItemKeyAtom}\n openAtom={openAtom}\n size={size}\n controlRef={controlRef}\n getOptionActions={getOptionActions}\n dropdownRef={useForkRef([dropdownRef, dropdownRefProp])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItemsAtom={visibleItemsAtom}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n highlightedIndexAtom={highlightedIndexAtom}\n highlightIndex={highlightIndex}\n onChangeAll={onChangeAll}\n onCreate={onCreate}\n onChange={onChange}\n inputValueAtom={inputValueAtom}\n hasItemsAtom={hasItemsAtom}\n groupsCounterAtom={groupsCounterAtom}\n dropdownZIndexAtom={dropdownZIndexAtom}\n selectAllLabel={selectAllLabel}\n viewportRef={dropdownViewportRef}\n container={dropdownContainer}\n />\n </>\n );\n};\n\nexport const SelectSingle = withCtx(\n forwardRef(SelectSingleRender),\n) as SelectComponent;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{act,fireEvent,render,screen}from"@testing-library/react";import React from"react";import{createIconMock}from"../../../../../__mocks__/IconMock";import{cnFieldControlLayout}from"../../../FieldComponents/FieldControlLayout";import{cnListBox,cnListItem,cnListLoader}from"../../../ListCanary";import{SelectSingle}from"../..";import{cnSelectControlLayout}from"../../SelectControlLayout";import{cnSelectCreateButton}from"../../SelectCreateButton";import{cnSelectInput}from"../../SelectInput";var testId="SelectSingleCanary",animationDuration=200,renderComponent=function(a){return render(React.createElement(React.Fragment,null,React.createElement("div",{"data-testid":"outside"}),React.createElement(SelectSingle,Object.assign({"data-testid":testId},a))))},getRender=function(){return screen.getByTestId(testId)},getOutside=function(){return screen.getByTestId("outside")},getInput=function(){return getRender().querySelector("input")},inputClick=function(){return fireEvent.click(getInput())},animateDelay=function(){act(function(){jest.advanceTimersByTime(animationDuration)})},getDropdown=function(){return screen.queryByRole("listbox")},outsideClick=function(){return fireEvent.mouseDown(getOutside())},getValueText=function(){return getRender().querySelector(".".concat(cnSelectInput("ValueText")))},getItems=function(){return getDropdown().querySelectorAll(".".concat(cnListItem()))},getItem=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:0;return getItems()[a]},getClearButton=function(){return getRender().querySelector(".".concat(cnSelectControlLayout("ClearButton")))},getLoader=function(){return getDropdown().querySelector(".".concat(cnListLoader()))},getCreateButton=function(){return getDropdown().querySelector(".".concat(cnSelectCreateButton()))},onCreateClick=function(){return fireEvent.click(getCreateButton())},getSelectInputValue=function(){return getRender().querySelector(".".concat(cnSelectInput("Value")))},items=[{id:1,label:"Item 1",groupId:1},{id:2,label:"Item 2",groupId:1},{id:3,label:"Item 3",groupId:2}],itemsWithDisabled=[{id:1,label:"Item 1",groupId:1,disabled:!0},{id:2,label:"Item 2",groupId:1},{id:3,label:"Item 3",groupId:2,disabled:!0}],groups=[{id:1,label:"Group 1"},{id:2,label:"Group 2"}];describe("SelectSingle",function(){it("\u0440\u0435\u043D\u0434\u0435\u0440\u0438\u0442\u0441\u044F \u0431\u0435\u0437 \u043E\u0448\u0438\u0431\u043E\u043A",function(){expect(function(){return renderComponent({items:items,onChange:jest.fn()})}).not.toThrow()}),it("\u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043F\u043B\u0435\u0439\u0441\u0445\u043E\u043B\u0434\u0435\u0440, \u0435\u0441\u043B\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E",function(){renderComponent({items:items,onChange:jest.fn(),placeholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442"}),expect(screen.getByPlaceholderText("\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442")).toBeInTheDocument()}),it("\u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",function(){renderComponent({items:items,value:items[1],onChange:jest.fn(),placeholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442"}),expect(screen.getByText("Item 2")).toBeInTheDocument()}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 ref",function(){var a={current:null};renderComponent({items:items,ref:a,onChange:jest.fn()}),expect(a.current).toBeTruthy()}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 inputRef",function(){var a={current:null};renderComponent({items:items,inputRef:a,onChange:jest.fn()}),expect(a.current).toBeTruthy()}),it("\u041F\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 className",function(){renderComponent({items:items,className:"custom-class",onChange:jest.fn()}),expect(getRender()).toHaveClass("custom-class")}),it("\u041F\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044B",function(){renderComponent({items:items,onChange:jest.fn(),"aria-placeholder":"test-autocomplete"}),expect(getRender()).toHaveAttribute("aria-placeholder","test-autocomplete")}),it("\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043A\u043B\u0438\u043A\u0443",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown()).toBeInTheDocument()}),it("\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043A\u043B\u0438\u043A\u0443",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown()).toBeInTheDocument()}),it("\u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043A\u043B\u0438\u043A\u0443 \u0432\u043D\u0435 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown()).toBeInTheDocument(),outsideClick(),animateDelay(),expect(getDropdown()).not.toBeInTheDocument()}),it("\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn()})}),inputClick(),animateDelay(),items.map(function(a){return expect(screen.getByText(a.label)).toBeInTheDocument()})}),it("\u043D\u0435 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043A\u043B\u0438\u043A\u0443 \u043F\u0440\u0438 disabled",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn(),disabled:!0})}),inputClick(),animateDelay(),expect(getDropdown()).not.toBeInTheDocument()}),it("value \u0432\u0435\u0440\u043D\u043E \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u0442\u0441\u044F",function(){var a=items[2];renderComponent({items:items,value:a,onChange:jest.fn()}),expect(getValueText().textContent).toEqual(a.label)}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onChange",function(){jest.useFakeTimers();var a=jest.fn();act(function(){renderComponent({items:items,onChange:a})}),inputClick(),animateDelay(),fireEvent.click(getItem(0)),expect(a).toHaveBeenCalled(),expect(a).toHaveBeenCalledTimes(1),expect(a).toHaveBeenCalledWith(items[0],{e:expect.any(Object)})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onFocus",function(){it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onFocus",function(){var a=jest.fn();renderComponent({items:items,onChange:jest.fn(),onFocus:a}),expect(a).toHaveBeenCalledTimes(0),getInput().focus(),expect(a).toHaveBeenCalledTimes(1)})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onBlur",function(){it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onBlur",function(){var a=jest.fn();renderComponent({items:items,onChange:jest.fn(),onBlur:a}),getInput().focus(),expect(a).toHaveBeenCalledTimes(0),getInput().blur(),expect(a).toHaveBeenCalledTimes(1)})}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onDropdownOpen",function(){var a=jest.fn();renderComponent({items:items,onChange:jest.fn(),onDropdownOpen:a}),inputClick(),expect(a).toHaveBeenCalledTimes(2),outsideClick(),expect(a).toHaveBeenCalledTimes(3),inputClick(),expect(a).toHaveBeenCalledTimes(4),outsideClick(),expect(a).toHaveBeenCalledTimes(5)}),it("\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B",function(){jest.useFakeTimers();var a=jest.fn();act(function(){renderComponent({items:items,onChange:a})});var b=getInput();fireEvent.focus(b),animateDelay(),fireEvent.keyDown(b,{key:"ArrowDown"}),expect(getDropdown()).toBeInTheDocument(),fireEvent.keyDown(b,{key:"ArrowUp"}),fireEvent.keyDown(b,{key:"ArrowDown"}),fireEvent.keyDown(b,{key:"Enter"}),expect(a).toHaveBeenCalledWith(items[1],{e:expect.any(Object)}),fireEvent.keyDown(b,{key:"Escape"}),animateDelay(),expect(getDropdown()).not.toBeInTheDocument(),fireEvent.keyDown(b,{key:"Enter"}),animateDelay(),expect(getDropdown()).toBeInTheDocument(),fireEvent.keyDown(b,{key:"Tab"}),animateDelay(),expect(getDropdown()).not.toBeInTheDocument(),fireEvent.keyDown(b,{key:"Tab"}),expect(b).not.toHaveFocus()}),it("disable - \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442",function(){jest.useFakeTimers();var a=jest.fn();act(function(){renderComponent({items:items,onChange:a,disabled:!0})});var b=getInput();fireEvent.focus(b),animateDelay(),fireEvent.keyDown(b,{key:"ArrowDown"}),expect(getDropdown()).not.toBeInTheDocument(),expect(b).not.toHaveFocus(),fireEvent.keyDown(b,{key:"ArrowDown"}),expect(getDropdown()).not.toBeInTheDocument(),expect(b).not.toHaveFocus(),fireEvent.keyDown(b,{key:"Enter"}),expect(getDropdown()).not.toBeInTheDocument(),expect(b).not.toHaveFocus()}),it("\u0438\u043C\u0435\u0435\u0442\u0441\u044F \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0432\u0432\u043E\u0434\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442 \u0432 input",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,input:!0});var b=getInput();fireEvent.change(b,{target:{value:"change"}}),expect(b.value).toEqual("change")}),it("\u0438\u043C\u0435\u0435\u0442\u0441\u044F \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0432\u0432\u043E\u0434\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442 \u0432 input",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,input:!0});var b=getInput();fireEvent.change(b,{target:{value:"change"}}),expect(b.value).toEqual("change"),expect(a).toHaveBeenCalledWith("change")}),it("\u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 input \u0441\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0435\u0442 onInput",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,input:!0}),fireEvent.change(getInput(),{target:{value:"change"}}),expect(a).toHaveBeenCalledTimes(1),expect(a).toHaveBeenCalledWith("change")}),it("disabled - \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 input \u043D\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0435\u0442 onInput",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,disabled:!0,input:!0}),fireEvent.change(getInput(),{target:{value:"change"}}),expect(a).not.toHaveBeenCalled()}),it("\u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F inputValue",function(){var a=jest.fn(),b="\u044F \u0438\u0449\u0443";renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,inputValue:b,input:!0}),expect(getInput().value).toEqual(b)}),it("\u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F inputDefaultValue",function(){renderComponent({items:items,value:items[0],onChange:jest.fn(),inputDefaultValue:"\u044F \u0438\u0449\u0443",input:!0}),expect(getInput().value).toEqual("\u044F \u0438\u0449\u0443")}),it("disabled - \u043F\u0440\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u043F\u043E Backspace \u043E\u043D \u043D\u0435 \u0443\u0434\u0430\u043B\u044F\u0435\u0442\u0441\u044F",function(){var a=jest.fn(),b="\u044F \u0438\u0449\u0443";renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,inputValue:b,disabled:!0,input:!0}),fireEvent.keyDown(getInput(),{key:"Backspace"}),fireEvent.keyDown(getInput(),{key:"Backspace"}),fireEvent.keyDown(getInput(),{key:"Backspace"}),expect(getInput().value).toEqual(b)}),it("clearButton \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0438",function(){renderComponent({items:items,value:items[0],onChange:jest.fn(),clearButton:!0});var a=getClearButton();expect(a).toBeInTheDocument()}),it("\u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 \u043E\u0447\u0438\u0441\u0442\u043A\u0438",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0});var b=getClearButton();fireEvent.click(b),expect(a).toHaveBeenCalledWith(null,{e:expect.any(Object)})}),it("\u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 Backspace",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0}),fireEvent.keyDown(getInput(),{key:"Backspace"}),expect(a).toHaveBeenCalledWith(null,{e:expect.any(Object)})}),it("disabled - \u043D\u0435 \u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 \u043E\u0447\u0438\u0441\u0442\u043A\u0438",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0,disabled:!0});var b=getClearButton();fireEvent.click(b),expect(a).not.toHaveBeenCalled()}),it("disabled - \u043D\u0435 \u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 Backspace",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0,disabled:!0}),fireEvent.keyDown(getInput(),{key:"Backspace"}),expect(a).not.toHaveBeenCalled()}),it("disabled - \u043D\u0435 \u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 Backspace",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0,disabled:!0}),fireEvent.keyDown(getInput(),{key:"Backspace"}),expect(a).not.toHaveBeenCalled()}),it("\u0433\u0440\u0443\u043F\u043F\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F",function(){renderComponent({items:items,groups:groups,value:items[0],onChange:jest.fn()}),inputClick(),animateDelay(),groups.map(function(a){return expect(screen.getByText(a.label)).toBeInTheDocument()})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 dropdownForm",function(){["default","brick","round"].map(function(a){it("dropdownForm = ".concat(a),function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,dropdownForm:a,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown()).toHaveClass(cnListBox({form:a}).split(" ")[1])})})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 form",function(){["default","defaultClear","defaultBrick","brick","brickDefault","brickClear","brickRound","round","roundClear","roundBrick","clearRound","clearDefault","clearBrick","clear"].map(function(a){it("form = ".concat(a),function(){renderComponent({items:items,form:a,onChange:jest.fn()}),expect(getRender()).toHaveClass(cnFieldControlLayout({form:a}).split(" ")[1])})})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 view",function(){["default","clear"].map(function(a){it("view = ".concat(a),function(){renderComponent({items:items,view:a,onChange:jest.fn()}),expect(getRender()).toHaveClass(cnFieldControlLayout({view:a}).split(" ")[1])})})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 status",function(){["alert","success","warning"].map(function(a){it("status = ".concat(a),function(){renderComponent({items:items,status:a,onChange:jest.fn()}),expect(getRender()).toHaveClass(cnFieldControlLayout({status:a}).split(" ")[1])})})}),it("\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B disabled \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0441 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0449\u0435\u043C \u043A\u043B\u0430\u0441\u0441\u043E\u043C",function(){jest.useFakeTimers(),act(function(){renderComponent({items:itemsWithDisabled,onChange:jest.fn()})}),inputClick(),animateDelay(),itemsWithDisabled.map(function(a,b){a.disabled?expect(getItem(b)).toHaveClass(cnListItem({disabled:!0}).split(" ")[1]):expect(getItem(b)).not.toHaveClass(cnListItem({disabled:!0}).split(" ")[1])})}),describe("\u043F\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u043C disabled \u043D\u0435 \u043E\u0442\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0435\u0442 onChange",function(){itemsWithDisabled.map(function(a,b){it("item ".concat(b," disabled = ").concat(a.disabled),function(){jest.useFakeTimers();var c=jest.fn();act(function(){renderComponent({items:itemsWithDisabled,onChange:c})}),inputClick(),animateDelay(),fireEvent.click(getItem(b)),a.disabled?expect(c).not.toHaveBeenCalled():expect(c).toHaveBeenCalled()})})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 isLoading",function(){it("isLoading = true",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,isLoading:!0,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getLoader()).toBeInTheDocument()}),[!1,void 0].map(function(a){it("isLoading = ".concat(a),function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,isLoading:a,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getLoader()).not.toBeInTheDocument()})})}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onCreate",function(){jest.useFakeTimers();var a=jest.fn(),b="test";act(function(){renderComponent({items:items,onCreate:a,inputValue:b,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getCreateButton()).toBeInTheDocument(),onCreateClick(),expect(a).toHaveBeenCalled(),expect(a).toHaveBeenCalledWith(b,{e:expect.any(Object)})}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 labelForCreate",function(){jest.useFakeTimers();act(function(){renderComponent({items:items,labelForCreate:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C",onCreate:jest.fn(),onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getCreateButton()).toBeInTheDocument()}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 iconClear",function(){jest.useFakeTimers();var a=createIconMock("iconClear");act(function(){renderComponent({items:items,iconClear:a,clearButton:!0,inputValue:"test",onCreate:jest.fn(),onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getClearButton().textContent).toEqual("iconClear")}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 renderItem",function(){jest.useFakeTimers();var a=function(a){var b=a.item;return React.createElement("div",{className:"test"},b.label)};act(function(){renderComponent({items:items,renderItem:a,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown().querySelectorAll(".test")[0]).toBeInTheDocument(),expect(getDropdown().querySelectorAll(".test")[0].textContent).toEqual(items[0].label)}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 renderValue",function(){jest.useFakeTimers();var a=function(a){var b=a.value;return React.createElement("div",{className:"test"},b.label)};act(function(){renderComponent({items:items,renderValue:a,value:items[0],onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getSelectInputValue().querySelector(".test")).toBeInTheDocument()})});
1
+ import{act,fireEvent,render,screen,within}from"@testing-library/react";import React from"react";import{createIconMock}from"../../../../../__mocks__/IconMock";import{cnFieldControlLayout}from"../../../FieldComponents/FieldControlLayout";import{cnListBox,cnListItem,cnListLoader}from"../../../ListCanary";import{SelectSingle}from"../..";import{cnSelectControlLayout}from"../../SelectControlLayout";import{cnSelectCreateButton}from"../../SelectCreateButton";import{cnSelectInput}from"../../SelectInput";var testId="SelectSingleCanary",animationDuration=200,renderComponent=function(a){return render(React.createElement(React.Fragment,null,React.createElement("div",{"data-testid":"outside"}),React.createElement(SelectSingle,Object.assign({"data-testid":testId},a))))},getRender=function(){return screen.getByTestId(testId)},getOutside=function(){return screen.getByTestId("outside")},getInput=function(){return getRender().querySelector("input")},inputClick=function(){return fireEvent.click(getInput())},animateDelay=function(){act(function(){jest.advanceTimersByTime(animationDuration)})},getDropdown=function(){return screen.queryByRole("listbox")},outsideClick=function(){return fireEvent.mouseDown(getOutside())},getValueText=function(){return getRender().querySelector(".".concat(cnSelectInput("ValueText")))},getItems=function(){return getDropdown().querySelectorAll(".".concat(cnListItem()))},getItem=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:0;return getItems()[a]},getClearButton=function(){return getRender().querySelector(".".concat(cnSelectControlLayout("ClearButton")))},getLoader=function(){return getDropdown().querySelector(".".concat(cnListLoader()))},getCreateButton=function(){return getDropdown().querySelector(".".concat(cnSelectCreateButton()))},onCreateClick=function(){return fireEvent.click(getCreateButton())},getSelectInputValue=function(){return getRender().querySelector(".".concat(cnSelectInput("Value")))},items=[{id:1,label:"Item 1",groupId:1},{id:2,label:"Item 2",groupId:1},{id:3,label:"Item 3",groupId:2}],itemsWithDisabled=[{id:1,label:"Item 1",groupId:1,disabled:!0},{id:2,label:"Item 2",groupId:1},{id:3,label:"Item 3",groupId:2,disabled:!0}],groups=[{id:1,label:"Group 1"},{id:2,label:"Group 2"}];describe("SelectSingle",function(){it("\u0440\u0435\u043D\u0434\u0435\u0440\u0438\u0442\u0441\u044F \u0431\u0435\u0437 \u043E\u0448\u0438\u0431\u043E\u043A",function(){expect(function(){return renderComponent({items:items,onChange:jest.fn()})}).not.toThrow()}),it("\u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043F\u043B\u0435\u0439\u0441\u0445\u043E\u043B\u0434\u0435\u0440, \u0435\u0441\u043B\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E",function(){renderComponent({items:items,onChange:jest.fn(),placeholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442"}),expect(screen.getByPlaceholderText("\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442")).toBeInTheDocument()}),it("\u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",function(){renderComponent({items:items,value:items[1],onChange:jest.fn(),placeholder:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442"}),expect(screen.getByText("Item 2")).toBeInTheDocument()}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 ref",function(){var a={current:null};renderComponent({items:items,ref:a,onChange:jest.fn()}),expect(a.current).toBeTruthy()}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 inputRef",function(){var a={current:null};renderComponent({items:items,inputRef:a,onChange:jest.fn()}),expect(a.current).toBeTruthy()}),it("\u041F\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 className",function(){renderComponent({items:items,className:"custom-class",onChange:jest.fn()}),expect(getRender()).toHaveClass("custom-class")}),it("\u041F\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u044E\u0442\u0441\u044F \u0434\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044B",function(){renderComponent({items:items,onChange:jest.fn(),"aria-placeholder":"test-autocomplete"}),expect(getRender()).toHaveAttribute("aria-placeholder","test-autocomplete")}),it("\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043A\u043B\u0438\u043A\u0443",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown()).toBeInTheDocument()}),it("\u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043A\u043B\u0438\u043A\u0443",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown()).toBeInTheDocument()}),it("\u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043A\u043B\u0438\u043A\u0443 \u0432\u043D\u0435 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u0430",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown()).toBeInTheDocument(),outsideClick(),animateDelay(),expect(getDropdown()).not.toBeInTheDocument()}),it("\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn()})}),inputClick(),animateDelay(),items.map(function(a){return expect(screen.getByText(a.label)).toBeInTheDocument()})}),it("\u043D\u0435 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043A\u043B\u0438\u043A\u0443 \u043F\u0440\u0438 disabled",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,onChange:jest.fn(),disabled:!0})}),inputClick(),animateDelay(),expect(getDropdown()).not.toBeInTheDocument()}),it("value \u0432\u0435\u0440\u043D\u043E \u0440\u0435\u043D\u0434\u0435\u0440\u0438\u0442\u0441\u044F",function(){var a=items[2];renderComponent({items:items,value:a,onChange:jest.fn()}),expect(getValueText().textContent).toEqual(a.label)}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onChange",function(){jest.useFakeTimers();var a=jest.fn();act(function(){renderComponent({items:items,onChange:a})}),inputClick(),animateDelay(),fireEvent.click(getItem(0)),expect(a).toHaveBeenCalled(),expect(a).toHaveBeenCalledTimes(1),expect(a).toHaveBeenCalledWith(items[0],{e:expect.any(Object)})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onFocus",function(){it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onFocus",function(){var a=jest.fn();renderComponent({items:items,onChange:jest.fn(),onFocus:a}),expect(a).toHaveBeenCalledTimes(0),getInput().focus(),expect(a).toHaveBeenCalledTimes(1)})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onBlur",function(){it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onBlur",function(){var a=jest.fn();renderComponent({items:items,onChange:jest.fn(),onBlur:a}),getInput().focus(),expect(a).toHaveBeenCalledTimes(0),getInput().blur(),expect(a).toHaveBeenCalledTimes(1)})}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onDropdownOpen",function(){var a=jest.fn();renderComponent({items:items,onChange:jest.fn(),onDropdownOpen:a}),inputClick(),expect(a).toHaveBeenCalledTimes(2),outsideClick(),expect(a).toHaveBeenCalledTimes(3),inputClick(),expect(a).toHaveBeenCalledTimes(4),outsideClick(),expect(a).toHaveBeenCalledTimes(5)}),it("\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B",function(){jest.useFakeTimers();var a=jest.fn();act(function(){renderComponent({items:items,onChange:a})});var b=getInput();fireEvent.focus(b),animateDelay(),fireEvent.keyDown(b,{key:"ArrowDown"}),expect(getDropdown()).toBeInTheDocument(),fireEvent.keyDown(b,{key:"ArrowUp"}),fireEvent.keyDown(b,{key:"ArrowDown"}),fireEvent.keyDown(b,{key:"Enter"}),expect(a).toHaveBeenCalledWith(items[1],{e:expect.any(Object)}),fireEvent.keyDown(b,{key:"Escape"}),animateDelay(),expect(getDropdown()).not.toBeInTheDocument(),fireEvent.keyDown(b,{key:"Enter"}),animateDelay(),expect(getDropdown()).toBeInTheDocument(),fireEvent.keyDown(b,{key:"Tab"}),animateDelay(),expect(getDropdown()).not.toBeInTheDocument(),fireEvent.keyDown(b,{key:"Tab"}),expect(b).not.toHaveFocus()}),it("disable - \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441 \u043A\u043B\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044B \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442",function(){jest.useFakeTimers();var a=jest.fn();act(function(){renderComponent({items:items,onChange:a,disabled:!0})});var b=getInput();fireEvent.focus(b),animateDelay(),fireEvent.keyDown(b,{key:"ArrowDown"}),expect(getDropdown()).not.toBeInTheDocument(),expect(b).not.toHaveFocus(),fireEvent.keyDown(b,{key:"ArrowDown"}),expect(getDropdown()).not.toBeInTheDocument(),expect(b).not.toHaveFocus(),fireEvent.keyDown(b,{key:"Enter"}),expect(getDropdown()).not.toBeInTheDocument(),expect(b).not.toHaveFocus()}),it("\u0438\u043C\u0435\u0435\u0442\u0441\u044F \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0432\u0432\u043E\u0434\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442 \u0432 input",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,input:!0});var b=getInput();fireEvent.change(b,{target:{value:"change"}}),expect(b.value).toEqual("change")}),it("\u0438\u043C\u0435\u0435\u0442\u0441\u044F \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u0432\u0432\u043E\u0434\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442 \u0432 input",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,input:!0});var b=getInput();fireEvent.change(b,{target:{value:"change"}}),expect(b.value).toEqual("change"),expect(a).toHaveBeenCalledWith("change")}),it("\u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 input \u0441\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0435\u0442 onInput",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,input:!0}),fireEvent.change(getInput(),{target:{value:"change"}}),expect(a).toHaveBeenCalledTimes(1),expect(a).toHaveBeenCalledWith("change")}),it("disabled - \u043F\u0440\u0438 \u0432\u0432\u043E\u0434\u0435 \u0442\u0435\u043A\u0441\u0442\u0430 \u0432 input \u043D\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0435\u0442 onInput",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,disabled:!0,input:!0}),fireEvent.change(getInput(),{target:{value:"change"}}),expect(a).not.toHaveBeenCalled()}),it("\u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F inputValue",function(){var a=jest.fn(),b="\u044F \u0438\u0449\u0443";renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,inputValue:b,input:!0}),expect(getInput().value).toEqual(b)}),it("\u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F inputDefaultValue",function(){renderComponent({items:items,value:items[0],onChange:jest.fn(),inputDefaultValue:"\u044F \u0438\u0449\u0443",input:!0}),expect(getInput().value).toEqual("\u044F \u0438\u0449\u0443")}),it("disabled - \u043F\u0440\u0438 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0438 \u0442\u0435\u043A\u0441\u0442\u0430 \u043F\u043E Backspace \u043E\u043D \u043D\u0435 \u0443\u0434\u0430\u043B\u044F\u0435\u0442\u0441\u044F",function(){var a=jest.fn(),b="\u044F \u0438\u0449\u0443";renderComponent({items:items,value:items[0],onChange:jest.fn(),onInput:a,inputValue:b,disabled:!0,input:!0}),fireEvent.keyDown(getInput(),{key:"Backspace"}),fireEvent.keyDown(getInput(),{key:"Backspace"}),fireEvent.keyDown(getInput(),{key:"Backspace"}),expect(getInput().value).toEqual(b)}),it("clearButton \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044F \u043F\u0440\u0438 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u043C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0438",function(){renderComponent({items:items,value:items[0],onChange:jest.fn(),clearButton:!0});var a=getClearButton();expect(a).toBeInTheDocument()}),it("\u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 \u043E\u0447\u0438\u0441\u0442\u043A\u0438",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0});var b=getClearButton();fireEvent.click(b),expect(a).toHaveBeenCalledWith(null,{e:expect.any(Object)})}),it("\u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 Backspace",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0}),fireEvent.keyDown(getInput(),{key:"Backspace"}),expect(a).toHaveBeenCalledWith(null,{e:expect.any(Object)})}),it("disabled - \u043D\u0435 \u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 \u043E\u0447\u0438\u0441\u0442\u043A\u0438",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0,disabled:!0});var b=getClearButton();fireEvent.click(b),expect(a).not.toHaveBeenCalled()}),it("disabled - \u043D\u0435 \u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 Backspace",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0,disabled:!0}),fireEvent.keyDown(getInput(),{key:"Backspace"}),expect(a).not.toHaveBeenCalled()}),it("disabled - \u043D\u0435 \u043E\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0443 Backspace",function(){var a=jest.fn();renderComponent({items:items,value:items[0],onChange:a,clearButton:!0,disabled:!0}),fireEvent.keyDown(getInput(),{key:"Backspace"}),expect(a).not.toHaveBeenCalled()}),it("\u0433\u0440\u0443\u043F\u043F\u044B \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F",function(){renderComponent({items:items,groups:groups,value:items[0],onChange:jest.fn()}),inputClick(),animateDelay(),groups.map(function(a){return expect(screen.getByText(a.label)).toBeInTheDocument()})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 dropdownForm",function(){["default","brick","round"].map(function(a){it("dropdownForm = ".concat(a),function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,dropdownForm:a,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown()).toHaveClass(cnListBox({form:a}).split(" ")[1])})})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 form",function(){["default","defaultClear","defaultBrick","brick","brickDefault","brickClear","brickRound","round","roundClear","roundBrick","clearRound","clearDefault","clearBrick","clear"].map(function(a){it("form = ".concat(a),function(){renderComponent({items:items,form:a,onChange:jest.fn()}),expect(getRender()).toHaveClass(cnFieldControlLayout({form:a}).split(" ")[1])})})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 view",function(){["default","clear"].map(function(a){it("view = ".concat(a),function(){renderComponent({items:items,view:a,onChange:jest.fn()}),expect(getRender()).toHaveClass(cnFieldControlLayout({view:a}).split(" ")[1])})})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 status",function(){["alert","success","warning"].map(function(a){it("status = ".concat(a),function(){renderComponent({items:items,status:a,onChange:jest.fn()}),expect(getRender()).toHaveClass(cnFieldControlLayout({status:a}).split(" ")[1])})})}),it("\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B disabled \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u044E\u0442\u0441\u044F \u0441 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0449\u0435\u043C \u043A\u043B\u0430\u0441\u0441\u043E\u043C",function(){jest.useFakeTimers(),act(function(){renderComponent({items:itemsWithDisabled,onChange:jest.fn()})}),inputClick(),animateDelay(),itemsWithDisabled.map(function(a,b){a.disabled?expect(getItem(b)).toHaveClass(cnListItem({disabled:!0}).split(" ")[1]):expect(getItem(b)).not.toHaveClass(cnListItem({disabled:!0}).split(" ")[1])})}),describe("\u043F\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u043C disabled \u043D\u0435 \u043E\u0442\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0435\u0442 onChange",function(){itemsWithDisabled.map(function(a,b){it("item ".concat(b," disabled = ").concat(a.disabled),function(){jest.useFakeTimers();var c=jest.fn();act(function(){renderComponent({items:itemsWithDisabled,onChange:c})}),inputClick(),animateDelay(),fireEvent.click(getItem(b)),a.disabled?expect(c).not.toHaveBeenCalled():expect(c).toHaveBeenCalled()})})}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 isLoading",function(){it("isLoading = true",function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,isLoading:!0,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getLoader()).toBeInTheDocument()}),[!1,void 0].map(function(a){it("isLoading = ".concat(a),function(){jest.useFakeTimers(),act(function(){renderComponent({items:items,isLoading:a,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getLoader()).not.toBeInTheDocument()})})}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 onCreate",function(){jest.useFakeTimers();var a=jest.fn(),b="test";act(function(){renderComponent({items:items,onCreate:a,inputValue:b,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getCreateButton()).toBeInTheDocument(),onCreateClick(),expect(a).toHaveBeenCalled(),expect(a).toHaveBeenCalledWith(b,{e:expect.any(Object)})}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 labelForCreate",function(){jest.useFakeTimers();act(function(){renderComponent({items:items,labelForCreate:"\u0421\u043E\u0437\u0434\u0430\u0442\u044C",onCreate:jest.fn(),onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getCreateButton()).toBeInTheDocument()}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 iconClear",function(){jest.useFakeTimers();var a=createIconMock("iconClear");act(function(){renderComponent({items:items,iconClear:a,clearButton:!0,inputValue:"test",onCreate:jest.fn(),onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getClearButton().textContent).toEqual("iconClear")}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 renderItem",function(){jest.useFakeTimers();var a=function(a){var b=a.item;return React.createElement("div",{className:"test"},b.label)};act(function(){renderComponent({items:items,renderItem:a,onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getDropdown().querySelectorAll(".test")[0]).toBeInTheDocument(),expect(getDropdown().querySelectorAll(".test")[0].textContent).toEqual(items[0].label)}),it("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 renderValue",function(){jest.useFakeTimers();var a=function(a){var b=a.value;return React.createElement("div",{className:"test"},b.label)};act(function(){renderComponent({items:items,renderValue:a,value:items[0],onChange:jest.fn()})}),inputClick(),animateDelay(),expect(getSelectInputValue().querySelector(".test")).toBeInTheDocument()}),describe("\u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 dropdownContainer",function(){it("\u0440\u0435\u043D\u0434\u0435\u0440\u0438\u0442 dropdown \u043F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E \u0432 document.body",function(){jest.useFakeTimers();var a=document.createElement("div");a.setAttribute("data-testid","container"),document.body.appendChild(a),act(function(){renderComponent({items:items,onChange:jest.fn(),dropdownContainer:void 0})}),inputClick(),animateDelay(),expect(screen.queryByRole("listbox")).not.toBeNull(),expect(within(a).queryByRole("listbox")).not.toBeInTheDocument()}),it("\u0440\u0435\u043D\u0434\u0435\u0440\u0438\u0442 dropdown \u0432\u043D\u0443\u0442\u0440\u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440\u0430",function(){jest.useFakeTimers();var a=document.createElement("div");a.setAttribute("data-testid","container"),document.body.appendChild(a),act(function(){renderComponent({items:items,onChange:jest.fn(),dropdownContainer:a})}),inputClick(),animateDelay(),expect(within(a).getByRole("listbox")).toBeInTheDocument()})})});
2
2
  //# sourceMappingURL=SelectSingle.test.js.map