@skbkontur/react-ui 5.0.8 → 5.0.9

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 (468) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +239 -0
  3. package/cjs/components/Button/__creevey__/Button.creevey.mts +251 -0
  4. package/cjs/components/Calendar/__creevey__/Calendar.creevey.mts +74 -0
  5. package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.mts +243 -0
  6. package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.mts +541 -0
  7. package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +81 -0
  8. package/cjs/components/DateInput/__creevey__/DateInput.creevey.mts +156 -0
  9. package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.mts +209 -0
  10. package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.mts +184 -0
  11. package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +263 -0
  12. package/cjs/components/FxInput/__creevey__/FxInput.creevey.mts +21 -0
  13. package/cjs/components/Group/__creevey__/Group.creevey.mts +19 -0
  14. package/cjs/components/Hint/__creevey__/Hint.creevey.mts +68 -0
  15. package/cjs/components/Input/__creevey__/Input.creevey.mts +239 -0
  16. package/cjs/components/Kebab/__creevey__/Kebab.creevey.mts +147 -0
  17. package/cjs/components/Link/__creevey__/Link.creevey.mts +162 -0
  18. package/cjs/components/Loader/__creevey__/Loader.creevey.mts +35 -0
  19. package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +216 -0
  20. package/cjs/components/Modal/Modal.js +7 -10
  21. package/cjs/components/Modal/Modal.js.map +1 -1
  22. package/cjs/components/Modal/ModalContext.d.ts +3 -3
  23. package/cjs/components/Modal/ModalContext.js.map +1 -1
  24. package/cjs/components/Modal/ModalFooter.js +2 -2
  25. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  26. package/cjs/components/Modal/ModalHeader.js +1 -1
  27. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  28. package/cjs/components/Modal/__creevey__/Modal.creevey.mts +281 -0
  29. package/cjs/components/Paging/__creevey__/Paging.creevey.mts +97 -0
  30. package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +38 -0
  31. package/cjs/components/Radio/__creevey__/Radio.creevey.mts +28 -0
  32. package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +86 -0
  33. package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +247 -0
  34. package/cjs/components/Select/Select.d.ts +1 -6
  35. package/cjs/components/Select/Select.js +7 -10
  36. package/cjs/components/Select/Select.js.map +1 -1
  37. package/cjs/components/Select/__creevey__/Select.creevey.mts +293 -0
  38. package/cjs/components/Select/tids.d.ts +5 -0
  39. package/cjs/components/Select/tids.js +5 -0
  40. package/cjs/components/Select/tids.js.map +1 -0
  41. package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +319 -0
  42. package/cjs/components/Sticky/__creevey__/Sticky.creevey.mts +98 -0
  43. package/cjs/components/Switcher/__creevey__/Switcher.creevey.mts +24 -0
  44. package/cjs/components/Tabs/__creevey__/Tabs.creevey.mts +239 -0
  45. package/cjs/components/Textarea/__creevey__/Textarea.creevey.mts +177 -0
  46. package/cjs/components/Toast/__creevey__/Toast.creevey.mts +54 -0
  47. package/cjs/components/Toggle/__creevey__/Toggle.creevey.mts +87 -0
  48. package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.mts +414 -0
  49. package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.mts +533 -0
  50. package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +131 -0
  51. package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +48 -0
  52. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -3
  53. package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -6
  54. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  55. package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +30 -0
  56. package/cjs/internal/CustomComboBox/tids.d.ts +3 -0
  57. package/cjs/internal/CustomComboBox/tids.js +3 -0
  58. package/cjs/internal/CustomComboBox/tids.js.map +1 -0
  59. package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +25 -0
  60. package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +83 -0
  61. package/cjs/internal/Menu/__creevey__/Menu.creevey.mts +90 -0
  62. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -5
  63. package/cjs/internal/PopupMenu/PopupMenu.js +8 -10
  64. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  65. package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +37 -0
  66. package/cjs/internal/PopupMenu/tids.d.ts +4 -0
  67. package/cjs/internal/PopupMenu/tids.js +4 -0
  68. package/cjs/internal/PopupMenu/tids.js.map +1 -0
  69. package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +68 -0
  70. package/cjs/internal/ThemeShowcase/VariablesCollector.js +1 -0
  71. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  72. package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.mts +228 -0
  73. package/cjs/lib/delay.d.ts +1 -0
  74. package/cjs/lib/delay.js +3 -0
  75. package/cjs/lib/delay.js.map +1 -0
  76. package/cjs/lib/utils.d.ts +3 -3
  77. package/cjs/lib/utils.js +5 -4
  78. package/cjs/lib/utils.js.map +1 -1
  79. package/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +239 -0
  80. package/components/Button/__creevey__/Button.creevey.mts +251 -0
  81. package/components/Calendar/__creevey__/Calendar.creevey.mts +74 -0
  82. package/components/Checkbox/__creevey__/Checkbox.creevey.mts +243 -0
  83. package/components/ComboBox/__creevey__/ComboBox.creevey.mts +541 -0
  84. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +81 -0
  85. package/components/DateInput/__creevey__/DateInput.creevey.mts +156 -0
  86. package/components/DatePicker/__creevey__/DatePicker.creevey.mts +209 -0
  87. package/components/Dropdown/__creevey__/Dropdown.creevey.mts +184 -0
  88. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +263 -0
  89. package/components/FxInput/__creevey__/FxInput.creevey.mts +21 -0
  90. package/components/Group/__creevey__/Group.creevey.mts +19 -0
  91. package/components/Hint/__creevey__/Hint.creevey.mts +68 -0
  92. package/components/Input/__creevey__/Input.creevey.mts +239 -0
  93. package/components/Kebab/__creevey__/Kebab.creevey.mts +147 -0
  94. package/components/Link/__creevey__/Link.creevey.mts +162 -0
  95. package/components/Loader/__creevey__/Loader.creevey.mts +35 -0
  96. package/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +216 -0
  97. package/components/Modal/Modal/Modal.js +4 -16
  98. package/components/Modal/Modal/Modal.js.map +1 -1
  99. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  100. package/components/Modal/ModalContext.d.ts +3 -3
  101. package/components/Modal/ModalFooter/ModalFooter.js +2 -2
  102. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  103. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  104. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  105. package/components/Modal/__creevey__/Modal.creevey.mts +281 -0
  106. package/components/Paging/__creevey__/Paging.creevey.mts +97 -0
  107. package/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +38 -0
  108. package/components/Radio/__creevey__/Radio.creevey.mts +28 -0
  109. package/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +86 -0
  110. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +247 -0
  111. package/components/Select/Select/Select.js +2 -5
  112. package/components/Select/Select/Select.js.map +1 -1
  113. package/components/Select/Select.d.ts +1 -6
  114. package/components/Select/__creevey__/Select.creevey.mts +293 -0
  115. package/components/Select/tids/package.json +6 -0
  116. package/components/Select/tids/tids.js +5 -0
  117. package/components/Select/tids/tids.js.map +1 -0
  118. package/components/Select/tids.d.ts +5 -0
  119. package/components/SidePage/__creevey__/SidePage.creevey.mts +319 -0
  120. package/components/Sticky/__creevey__/Sticky.creevey.mts +98 -0
  121. package/components/Switcher/__creevey__/Switcher.creevey.mts +24 -0
  122. package/components/Tabs/__creevey__/Tabs.creevey.mts +239 -0
  123. package/components/Textarea/__creevey__/Textarea.creevey.mts +177 -0
  124. package/components/Toast/__creevey__/Toast.creevey.mts +54 -0
  125. package/components/Toggle/__creevey__/Toggle.creevey.mts +87 -0
  126. package/components/TokenInput/__creevey__/TokenInput.creevey.mts +414 -0
  127. package/components/Tooltip/__creevey__/Tooltip.creevey.mts +533 -0
  128. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +131 -0
  129. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +48 -0
  130. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -3
  131. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  132. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -3
  133. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +30 -0
  134. package/internal/CustomComboBox/tids/package.json +6 -0
  135. package/internal/CustomComboBox/tids/tids.js +3 -0
  136. package/internal/CustomComboBox/tids/tids.js.map +1 -0
  137. package/internal/CustomComboBox/tids.d.ts +3 -0
  138. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +25 -0
  139. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +83 -0
  140. package/internal/Menu/__creevey__/Menu.creevey.mts +90 -0
  141. package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -4
  142. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  143. package/internal/PopupMenu/PopupMenu.d.ts +1 -5
  144. package/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +37 -0
  145. package/internal/PopupMenu/tids/package.json +6 -0
  146. package/internal/PopupMenu/tids/tids.js +4 -0
  147. package/internal/PopupMenu/tids/tids.js.map +1 -0
  148. package/internal/PopupMenu/tids.d.ts +4 -0
  149. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +68 -0
  150. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +2 -0
  151. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  152. package/internal/ZIndex/__creevey__/ZIndex.creevey.mts +228 -0
  153. package/lib/delay/delay.js +6 -0
  154. package/lib/delay/delay.js.map +1 -0
  155. package/lib/delay/package.json +6 -0
  156. package/lib/delay.d.ts +1 -0
  157. package/lib/utils/utils.js +3 -7
  158. package/lib/utils/utils.js.map +1 -1
  159. package/lib/utils.d.ts +3 -3
  160. package/package.json +6 -5
  161. package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.js +0 -239
  162. package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.js.map +0 -1
  163. package/cjs/components/Button/__creevey__/Button.creevey.js +0 -250
  164. package/cjs/components/Button/__creevey__/Button.creevey.js.map +0 -1
  165. package/cjs/components/Calendar/__creevey__/Calendar.creevey.js +0 -74
  166. package/cjs/components/Calendar/__creevey__/Calendar.creevey.js.map +0 -1
  167. package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.js +0 -242
  168. package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.js.map +0 -1
  169. package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.js +0 -540
  170. package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.js.map +0 -1
  171. package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.js +0 -81
  172. package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.js.map +0 -1
  173. package/cjs/components/DateInput/__creevey__/DateInput.creevey.js +0 -155
  174. package/cjs/components/DateInput/__creevey__/DateInput.creevey.js.map +0 -1
  175. package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.js +0 -209
  176. package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.js.map +0 -1
  177. package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.js +0 -184
  178. package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.js.map +0 -1
  179. package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.js +0 -262
  180. package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.js.map +0 -1
  181. package/cjs/components/FxInput/__creevey__/FxInput.creevey.js +0 -21
  182. package/cjs/components/FxInput/__creevey__/FxInput.creevey.js.map +0 -1
  183. package/cjs/components/Group/__creevey__/Group.creevey.js +0 -19
  184. package/cjs/components/Group/__creevey__/Group.creevey.js.map +0 -1
  185. package/cjs/components/Hint/__creevey__/Hint.creevey.js +0 -68
  186. package/cjs/components/Hint/__creevey__/Hint.creevey.js.map +0 -1
  187. package/cjs/components/Input/__creevey__/Input.creevey.js +0 -239
  188. package/cjs/components/Input/__creevey__/Input.creevey.js.map +0 -1
  189. package/cjs/components/Kebab/__creevey__/Kebab.creevey.js +0 -146
  190. package/cjs/components/Kebab/__creevey__/Kebab.creevey.js.map +0 -1
  191. package/cjs/components/Link/__creevey__/Link.creevey.js +0 -161
  192. package/cjs/components/Link/__creevey__/Link.creevey.js.map +0 -1
  193. package/cjs/components/Loader/__creevey__/Loader.creevey.js +0 -34
  194. package/cjs/components/Loader/__creevey__/Loader.creevey.js.map +0 -1
  195. package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.js +0 -219
  196. package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.js.map +0 -1
  197. package/cjs/components/Modal/__creevey__/Modal.creevey.js +0 -258
  198. package/cjs/components/Modal/__creevey__/Modal.creevey.js.map +0 -1
  199. package/cjs/components/Paging/__creevey__/Paging.creevey.js +0 -96
  200. package/cjs/components/Paging/__creevey__/Paging.creevey.js.map +0 -1
  201. package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.js +0 -38
  202. package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.js.map +0 -1
  203. package/cjs/components/Radio/__creevey__/Radio.creevey.js +0 -27
  204. package/cjs/components/Radio/__creevey__/Radio.creevey.js.map +0 -1
  205. package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.js +0 -85
  206. package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.js.map +0 -1
  207. package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.js +0 -247
  208. package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.js.map +0 -1
  209. package/cjs/components/Select/__creevey__/Select.creevey.js +0 -284
  210. package/cjs/components/Select/__creevey__/Select.creevey.js.map +0 -1
  211. package/cjs/components/SidePage/__creevey__/SidePage.creevey.js +0 -313
  212. package/cjs/components/SidePage/__creevey__/SidePage.creevey.js.map +0 -1
  213. package/cjs/components/Sticky/__creevey__/Sticky.creevey.js +0 -98
  214. package/cjs/components/Sticky/__creevey__/Sticky.creevey.js.map +0 -1
  215. package/cjs/components/Switcher/__creevey__/Switcher.creevey.js +0 -24
  216. package/cjs/components/Switcher/__creevey__/Switcher.creevey.js.map +0 -1
  217. package/cjs/components/Tabs/__creevey__/Tabs.creevey.js +0 -238
  218. package/cjs/components/Tabs/__creevey__/Tabs.creevey.js.map +0 -1
  219. package/cjs/components/Textarea/__creevey__/Textarea.creevey.js +0 -176
  220. package/cjs/components/Textarea/__creevey__/Textarea.creevey.js.map +0 -1
  221. package/cjs/components/Toast/__creevey__/Toast.creevey.js +0 -54
  222. package/cjs/components/Toast/__creevey__/Toast.creevey.js.map +0 -1
  223. package/cjs/components/Toggle/__creevey__/Toggle.creevey.js +0 -87
  224. package/cjs/components/Toggle/__creevey__/Toggle.creevey.js.map +0 -1
  225. package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.js +0 -413
  226. package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.js.map +0 -1
  227. package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.js +0 -534
  228. package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.js.map +0 -1
  229. package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.js +0 -130
  230. package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.js.map +0 -1
  231. package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.js +0 -47
  232. package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.js.map +0 -1
  233. package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.js +0 -30
  234. package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.js.map +0 -1
  235. package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.js +0 -25
  236. package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.js.map +0 -1
  237. package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.js +0 -83
  238. package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.js.map +0 -1
  239. package/cjs/internal/Menu/__creevey__/Menu.creevey.js +0 -90
  240. package/cjs/internal/Menu/__creevey__/Menu.creevey.js.map +0 -1
  241. package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.js +0 -37
  242. package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.js.map +0 -1
  243. package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.js +0 -68
  244. package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.js.map +0 -1
  245. package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.js +0 -228
  246. package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.js.map +0 -1
  247. package/cjs/lib/styles/HoldSelectionColor.d.ts +0 -1
  248. package/cjs/lib/styles/HoldSelectionColor.js +0 -9
  249. package/cjs/lib/styles/HoldSelectionColor.js.map +0 -1
  250. package/components/Autocomplete/__creevey__/Autocomplete.creevey/Autocomplete.creevey.js +0 -506
  251. package/components/Autocomplete/__creevey__/Autocomplete.creevey/Autocomplete.creevey.js.map +0 -1
  252. package/components/Autocomplete/__creevey__/Autocomplete.creevey/package.json +0 -6
  253. package/components/Autocomplete/__creevey__/Autocomplete.creevey.d.ts +0 -1
  254. package/components/Button/__creevey__/Button.creevey/Button.creevey.js +0 -396
  255. package/components/Button/__creevey__/Button.creevey/Button.creevey.js.map +0 -1
  256. package/components/Button/__creevey__/Button.creevey/package.json +0 -6
  257. package/components/Button/__creevey__/Button.creevey.d.ts +0 -1
  258. package/components/Calendar/__creevey__/Calendar.creevey/Calendar.creevey.js +0 -138
  259. package/components/Calendar/__creevey__/Calendar.creevey/Calendar.creevey.js.map +0 -1
  260. package/components/Calendar/__creevey__/Calendar.creevey/package.json +0 -6
  261. package/components/Calendar/__creevey__/Calendar.creevey.d.ts +0 -1
  262. package/components/Checkbox/__creevey__/Checkbox.creevey/Checkbox.creevey.js +0 -487
  263. package/components/Checkbox/__creevey__/Checkbox.creevey/Checkbox.creevey.js.map +0 -1
  264. package/components/Checkbox/__creevey__/Checkbox.creevey/package.json +0 -6
  265. package/components/Checkbox/__creevey__/Checkbox.creevey.d.ts +0 -1
  266. package/components/ComboBox/__creevey__/ComboBox.creevey/ComboBox.creevey.js +0 -1043
  267. package/components/ComboBox/__creevey__/ComboBox.creevey/ComboBox.creevey.js.map +0 -1
  268. package/components/ComboBox/__creevey__/ComboBox.creevey/package.json +0 -6
  269. package/components/ComboBox/__creevey__/ComboBox.creevey.d.ts +0 -1
  270. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey/CurrencyInput.creevey.js +0 -114
  271. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey/CurrencyInput.creevey.js.map +0 -1
  272. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey/package.json +0 -6
  273. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.ts +0 -1
  274. package/components/DateInput/__creevey__/DateInput.creevey/DateInput.creevey.js +0 -367
  275. package/components/DateInput/__creevey__/DateInput.creevey/DateInput.creevey.js.map +0 -1
  276. package/components/DateInput/__creevey__/DateInput.creevey/package.json +0 -6
  277. package/components/DateInput/__creevey__/DateInput.creevey.d.ts +0 -1
  278. package/components/DatePicker/__creevey__/DatePicker.creevey/DatePicker.creevey.js +0 -395
  279. package/components/DatePicker/__creevey__/DatePicker.creevey/DatePicker.creevey.js.map +0 -1
  280. package/components/DatePicker/__creevey__/DatePicker.creevey/package.json +0 -6
  281. package/components/DatePicker/__creevey__/DatePicker.creevey.d.ts +0 -1
  282. package/components/Dropdown/__creevey__/Dropdown.creevey/Dropdown.creevey.js +0 -417
  283. package/components/Dropdown/__creevey__/Dropdown.creevey/Dropdown.creevey.js.map +0 -1
  284. package/components/Dropdown/__creevey__/Dropdown.creevey/package.json +0 -6
  285. package/components/Dropdown/__creevey__/Dropdown.creevey.d.ts +0 -1
  286. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey/DropdownMenu.creevey.js +0 -534
  287. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey/DropdownMenu.creevey.js.map +0 -1
  288. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey/package.json +0 -6
  289. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.ts +0 -1
  290. package/components/FxInput/__creevey__/FxInput.creevey/FxInput.creevey.js +0 -62
  291. package/components/FxInput/__creevey__/FxInput.creevey/FxInput.creevey.js.map +0 -1
  292. package/components/FxInput/__creevey__/FxInput.creevey/package.json +0 -6
  293. package/components/FxInput/__creevey__/FxInput.creevey.d.ts +0 -1
  294. package/components/Group/__creevey__/Group.creevey/Group.creevey.js +0 -48
  295. package/components/Group/__creevey__/Group.creevey/Group.creevey.js.map +0 -1
  296. package/components/Group/__creevey__/Group.creevey/package.json +0 -6
  297. package/components/Group/__creevey__/Group.creevey.d.ts +0 -1
  298. package/components/Hint/__creevey__/Hint.creevey/Hint.creevey.js +0 -127
  299. package/components/Hint/__creevey__/Hint.creevey/Hint.creevey.js.map +0 -1
  300. package/components/Hint/__creevey__/Hint.creevey/package.json +0 -6
  301. package/components/Hint/__creevey__/Hint.creevey.d.ts +0 -1
  302. package/components/Input/__creevey__/Input.creevey/Input.creevey.js +0 -517
  303. package/components/Input/__creevey__/Input.creevey/Input.creevey.js.map +0 -1
  304. package/components/Input/__creevey__/Input.creevey/package.json +0 -6
  305. package/components/Input/__creevey__/Input.creevey.d.ts +0 -1
  306. package/components/Kebab/__creevey__/Kebab.creevey/Kebab.creevey.js +0 -278
  307. package/components/Kebab/__creevey__/Kebab.creevey/Kebab.creevey.js.map +0 -1
  308. package/components/Kebab/__creevey__/Kebab.creevey/package.json +0 -6
  309. package/components/Kebab/__creevey__/Kebab.creevey.d.ts +0 -1
  310. package/components/Link/__creevey__/Link.creevey/Link.creevey.js +0 -238
  311. package/components/Link/__creevey__/Link.creevey/Link.creevey.js.map +0 -1
  312. package/components/Link/__creevey__/Link.creevey/package.json +0 -6
  313. package/components/Link/__creevey__/Link.creevey.d.ts +0 -1
  314. package/components/Loader/__creevey__/Loader.creevey/Loader.creevey.js +0 -129
  315. package/components/Loader/__creevey__/Loader.creevey/Loader.creevey.js.map +0 -1
  316. package/components/Loader/__creevey__/Loader.creevey/package.json +0 -6
  317. package/components/Loader/__creevey__/Loader.creevey.d.ts +0 -1
  318. package/components/MaskedInput/__creevey__/MaskedInput.creevey/MaskedInput.creevey.js +0 -405
  319. package/components/MaskedInput/__creevey__/MaskedInput.creevey/MaskedInput.creevey.js.map +0 -1
  320. package/components/MaskedInput/__creevey__/MaskedInput.creevey/package.json +0 -6
  321. package/components/MaskedInput/__creevey__/MaskedInput.creevey.d.ts +0 -1
  322. package/components/Modal/__creevey__/Modal.creevey/Modal.creevey.js +0 -565
  323. package/components/Modal/__creevey__/Modal.creevey/Modal.creevey.js.map +0 -1
  324. package/components/Modal/__creevey__/Modal.creevey/package.json +0 -6
  325. package/components/Modal/__creevey__/Modal.creevey.d.ts +0 -1
  326. package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js +0 -190
  327. package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js.map +0 -1
  328. package/components/Paging/__creevey__/Paging.creevey/package.json +0 -6
  329. package/components/Paging/__creevey__/Paging.creevey.d.ts +0 -1
  330. package/components/PasswordInput/__creevey__/PasswordInput.creevey/PasswordInput.creevey.js +0 -83
  331. package/components/PasswordInput/__creevey__/PasswordInput.creevey/PasswordInput.creevey.js.map +0 -1
  332. package/components/PasswordInput/__creevey__/PasswordInput.creevey/package.json +0 -6
  333. package/components/PasswordInput/__creevey__/PasswordInput.creevey.d.ts +0 -1
  334. package/components/Radio/__creevey__/Radio.creevey/Radio.creevey.js +0 -56
  335. package/components/Radio/__creevey__/Radio.creevey/Radio.creevey.js.map +0 -1
  336. package/components/Radio/__creevey__/Radio.creevey/package.json +0 -6
  337. package/components/Radio/__creevey__/Radio.creevey.d.ts +0 -1
  338. package/components/RadioGroup/__creevey__/RadioGroup.creevey/RadioGroup.creevey.js +0 -167
  339. package/components/RadioGroup/__creevey__/RadioGroup.creevey/RadioGroup.creevey.js.map +0 -1
  340. package/components/RadioGroup/__creevey__/RadioGroup.creevey/package.json +0 -6
  341. package/components/RadioGroup/__creevey__/RadioGroup.creevey.d.ts +0 -1
  342. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey/ScrollContainer.creevey.js +0 -488
  343. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey/ScrollContainer.creevey.js.map +0 -1
  344. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey/package.json +0 -6
  345. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.ts +0 -1
  346. package/components/Select/__creevey__/Select.creevey/Select.creevey.js +0 -541
  347. package/components/Select/__creevey__/Select.creevey/Select.creevey.js.map +0 -1
  348. package/components/Select/__creevey__/Select.creevey/package.json +0 -6
  349. package/components/Select/__creevey__/Select.creevey.d.ts +0 -1
  350. package/components/SidePage/__creevey__/SidePage.creevey/SidePage.creevey.js +0 -697
  351. package/components/SidePage/__creevey__/SidePage.creevey/SidePage.creevey.js.map +0 -1
  352. package/components/SidePage/__creevey__/SidePage.creevey/package.json +0 -6
  353. package/components/SidePage/__creevey__/SidePage.creevey.d.ts +0 -1
  354. package/components/Sticky/__creevey__/Sticky.creevey/Sticky.creevey.js +0 -215
  355. package/components/Sticky/__creevey__/Sticky.creevey/Sticky.creevey.js.map +0 -1
  356. package/components/Sticky/__creevey__/Sticky.creevey/package.json +0 -6
  357. package/components/Sticky/__creevey__/Sticky.creevey.d.ts +0 -1
  358. package/components/Switcher/__creevey__/Switcher.creevey/Switcher.creevey.js +0 -58
  359. package/components/Switcher/__creevey__/Switcher.creevey/Switcher.creevey.js.map +0 -1
  360. package/components/Switcher/__creevey__/Switcher.creevey/package.json +0 -6
  361. package/components/Switcher/__creevey__/Switcher.creevey.d.ts +0 -1
  362. package/components/Tabs/__creevey__/Tabs.creevey/Tabs.creevey.js +0 -391
  363. package/components/Tabs/__creevey__/Tabs.creevey/Tabs.creevey.js.map +0 -1
  364. package/components/Tabs/__creevey__/Tabs.creevey/package.json +0 -6
  365. package/components/Tabs/__creevey__/Tabs.creevey.d.ts +0 -1
  366. package/components/Textarea/__creevey__/Textarea.creevey/Textarea.creevey.js +0 -404
  367. package/components/Textarea/__creevey__/Textarea.creevey/Textarea.creevey.js.map +0 -1
  368. package/components/Textarea/__creevey__/Textarea.creevey/package.json +0 -6
  369. package/components/Textarea/__creevey__/Textarea.creevey.d.ts +0 -1
  370. package/components/Toast/__creevey__/Toast.creevey/Toast.creevey.js +0 -70
  371. package/components/Toast/__creevey__/Toast.creevey/Toast.creevey.js.map +0 -1
  372. package/components/Toast/__creevey__/Toast.creevey/package.json +0 -6
  373. package/components/Toast/__creevey__/Toast.creevey.d.ts +0 -1
  374. package/components/Toggle/__creevey__/Toggle.creevey/Toggle.creevey.js +0 -195
  375. package/components/Toggle/__creevey__/Toggle.creevey/Toggle.creevey.js.map +0 -1
  376. package/components/Toggle/__creevey__/Toggle.creevey/package.json +0 -6
  377. package/components/Toggle/__creevey__/Toggle.creevey.d.ts +0 -1
  378. package/components/TokenInput/__creevey__/TokenInput.creevey/TokenInput.creevey.js +0 -635
  379. package/components/TokenInput/__creevey__/TokenInput.creevey/TokenInput.creevey.js.map +0 -1
  380. package/components/TokenInput/__creevey__/TokenInput.creevey/package.json +0 -6
  381. package/components/TokenInput/__creevey__/TokenInput.creevey.d.ts +0 -1
  382. package/components/Tooltip/__creevey__/Tooltip.creevey/Tooltip.creevey.js +0 -1171
  383. package/components/Tooltip/__creevey__/Tooltip.creevey/Tooltip.creevey.js.map +0 -1
  384. package/components/Tooltip/__creevey__/Tooltip.creevey/package.json +0 -6
  385. package/components/Tooltip/__creevey__/Tooltip.creevey.d.ts +0 -1
  386. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey/TooltipMenu.creevey.js +0 -277
  387. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey/TooltipMenu.creevey.js.map +0 -1
  388. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey/package.json +0 -6
  389. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.ts +0 -1
  390. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey/CloseButtonIcon.creevey.js +0 -78
  391. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey/CloseButtonIcon.creevey.js.map +0 -1
  392. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey/package.json +0 -6
  393. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.ts +0 -1
  394. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey/ComboBoxView.creevey.js +0 -58
  395. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey/ComboBoxView.creevey.js.map +0 -1
  396. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey/package.json +0 -6
  397. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.ts +0 -1
  398. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey/FileUploaderFile.creevey.js +0 -41
  399. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey/FileUploaderFile.creevey.js.map +0 -1
  400. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey/package.json +0 -6
  401. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.ts +0 -1
  402. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey/HideBodyVerticalScroll.creevey.js +0 -199
  403. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey/HideBodyVerticalScroll.creevey.js.map +0 -1
  404. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey/package.json +0 -6
  405. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.ts +0 -1
  406. package/internal/Menu/__creevey__/Menu.creevey/Menu.creevey.js +0 -196
  407. package/internal/Menu/__creevey__/Menu.creevey/Menu.creevey.js.map +0 -1
  408. package/internal/Menu/__creevey__/Menu.creevey/package.json +0 -6
  409. package/internal/Menu/__creevey__/Menu.creevey.d.ts +0 -1
  410. package/internal/PopupMenu/__creevey__/PopupMenu.creevey/PopupMenu.creevey.js +0 -69
  411. package/internal/PopupMenu/__creevey__/PopupMenu.creevey/PopupMenu.creevey.js.map +0 -1
  412. package/internal/PopupMenu/__creevey__/PopupMenu.creevey/package.json +0 -6
  413. package/internal/PopupMenu/__creevey__/PopupMenu.creevey.d.ts +0 -1
  414. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey/ThemeProvider.creevey.js +0 -145
  415. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey/ThemeProvider.creevey.js.map +0 -1
  416. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey/package.json +0 -6
  417. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.ts +0 -1
  418. package/internal/ZIndex/__creevey__/ZIndex.creevey/ZIndex.creevey.js +0 -550
  419. package/internal/ZIndex/__creevey__/ZIndex.creevey/ZIndex.creevey.js.map +0 -1
  420. package/internal/ZIndex/__creevey__/ZIndex.creevey/package.json +0 -6
  421. package/internal/ZIndex/__creevey__/ZIndex.creevey.d.ts +0 -1
  422. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js +0 -8
  423. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +0 -1
  424. package/lib/styles/HoldSelectionColor/package.json +0 -6
  425. package/lib/styles/HoldSelectionColor.d.ts +0 -1
  426. /package/{cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.d.ts → components/Autocomplete/__creevey__/Autocomplete.creevey.d.mts} +0 -0
  427. /package/{cjs/components/Button/__creevey__/Button.creevey.d.ts → components/Button/__creevey__/Button.creevey.d.mts} +0 -0
  428. /package/{cjs/components/Calendar/__creevey__/Calendar.creevey.d.ts → components/Calendar/__creevey__/Calendar.creevey.d.mts} +0 -0
  429. /package/{cjs/components/Checkbox/__creevey__/Checkbox.creevey.d.ts → components/Checkbox/__creevey__/Checkbox.creevey.d.mts} +0 -0
  430. /package/{cjs/components/ComboBox/__creevey__/ComboBox.creevey.d.ts → components/ComboBox/__creevey__/ComboBox.creevey.d.mts} +0 -0
  431. /package/{cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.ts → components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.mts} +0 -0
  432. /package/{cjs/components/DateInput/__creevey__/DateInput.creevey.d.ts → components/DateInput/__creevey__/DateInput.creevey.d.mts} +0 -0
  433. /package/{cjs/components/DatePicker/__creevey__/DatePicker.creevey.d.ts → components/DatePicker/__creevey__/DatePicker.creevey.d.mts} +0 -0
  434. /package/{cjs/components/Dropdown/__creevey__/Dropdown.creevey.d.ts → components/Dropdown/__creevey__/Dropdown.creevey.d.mts} +0 -0
  435. /package/{cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.ts → components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.mts} +0 -0
  436. /package/{cjs/components/FxInput/__creevey__/FxInput.creevey.d.ts → components/FxInput/__creevey__/FxInput.creevey.d.mts} +0 -0
  437. /package/{cjs/components/Group/__creevey__/Group.creevey.d.ts → components/Group/__creevey__/Group.creevey.d.mts} +0 -0
  438. /package/{cjs/components/Hint/__creevey__/Hint.creevey.d.ts → components/Hint/__creevey__/Hint.creevey.d.mts} +0 -0
  439. /package/{cjs/components/Input/__creevey__/Input.creevey.d.ts → components/Input/__creevey__/Input.creevey.d.mts} +0 -0
  440. /package/{cjs/components/Kebab/__creevey__/Kebab.creevey.d.ts → components/Kebab/__creevey__/Kebab.creevey.d.mts} +0 -0
  441. /package/{cjs/components/Link/__creevey__/Link.creevey.d.ts → components/Link/__creevey__/Link.creevey.d.mts} +0 -0
  442. /package/{cjs/components/Loader/__creevey__/Loader.creevey.d.ts → components/Loader/__creevey__/Loader.creevey.d.mts} +0 -0
  443. /package/{cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.d.ts → components/MaskedInput/__creevey__/MaskedInput.creevey.d.mts} +0 -0
  444. /package/{cjs/components/Modal/__creevey__/Modal.creevey.d.ts → components/Modal/__creevey__/Modal.creevey.d.mts} +0 -0
  445. /package/{cjs/components/Paging/__creevey__/Paging.creevey.d.ts → components/Paging/__creevey__/Paging.creevey.d.mts} +0 -0
  446. /package/{cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.d.ts → components/PasswordInput/__creevey__/PasswordInput.creevey.d.mts} +0 -0
  447. /package/{cjs/components/Radio/__creevey__/Radio.creevey.d.ts → components/Radio/__creevey__/Radio.creevey.d.mts} +0 -0
  448. /package/{cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.d.ts → components/RadioGroup/__creevey__/RadioGroup.creevey.d.mts} +0 -0
  449. /package/{cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.ts → components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.mts} +0 -0
  450. /package/{cjs/components/Select/__creevey__/Select.creevey.d.ts → components/Select/__creevey__/Select.creevey.d.mts} +0 -0
  451. /package/{cjs/components/SidePage/__creevey__/SidePage.creevey.d.ts → components/SidePage/__creevey__/SidePage.creevey.d.mts} +0 -0
  452. /package/{cjs/components/Sticky/__creevey__/Sticky.creevey.d.ts → components/Sticky/__creevey__/Sticky.creevey.d.mts} +0 -0
  453. /package/{cjs/components/Switcher/__creevey__/Switcher.creevey.d.ts → components/Switcher/__creevey__/Switcher.creevey.d.mts} +0 -0
  454. /package/{cjs/components/Tabs/__creevey__/Tabs.creevey.d.ts → components/Tabs/__creevey__/Tabs.creevey.d.mts} +0 -0
  455. /package/{cjs/components/Textarea/__creevey__/Textarea.creevey.d.ts → components/Textarea/__creevey__/Textarea.creevey.d.mts} +0 -0
  456. /package/{cjs/components/Toast/__creevey__/Toast.creevey.d.ts → components/Toast/__creevey__/Toast.creevey.d.mts} +0 -0
  457. /package/{cjs/components/Toggle/__creevey__/Toggle.creevey.d.ts → components/Toggle/__creevey__/Toggle.creevey.d.mts} +0 -0
  458. /package/{cjs/components/TokenInput/__creevey__/TokenInput.creevey.d.ts → components/TokenInput/__creevey__/TokenInput.creevey.d.mts} +0 -0
  459. /package/{cjs/components/Tooltip/__creevey__/Tooltip.creevey.d.ts → components/Tooltip/__creevey__/Tooltip.creevey.d.mts} +0 -0
  460. /package/{cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.ts → components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.mts} +0 -0
  461. /package/{cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.ts → internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.mts} +0 -0
  462. /package/{cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.ts → internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.mts} +0 -0
  463. /package/{cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.ts → internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.mts} +0 -0
  464. /package/{cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.ts → internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.mts} +0 -0
  465. /package/{cjs/internal/Menu/__creevey__/Menu.creevey.d.ts → internal/Menu/__creevey__/Menu.creevey.d.mts} +0 -0
  466. /package/{cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.d.ts → internal/PopupMenu/__creevey__/PopupMenu.creevey.d.mts} +0 -0
  467. /package/{cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.ts → internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.mts} +0 -0
  468. /package/{cjs/internal/ZIndex/__creevey__/ZIndex.creevey.d.ts → internal/ZIndex/__creevey__/ZIndex.creevey.d.mts} +0 -0
@@ -0,0 +1,48 @@
1
+ import { story, kind, test } from 'creevey';
2
+ import { Key } from 'selenium-webdriver';
3
+
4
+ const clickThenTAB = (clickDataTid: string) => {
5
+ test(clickDataTid, async (context) => {
6
+ await context.webdriver
7
+ .actions({
8
+ bridge: true,
9
+ })
10
+ .click(context.webdriver.findElement({ css: `[data-tid="${clickDataTid}"] input` }))
11
+ .pause(500)
12
+ .perform();
13
+ const firstFocus = await context.takeScreenshot();
14
+ await context.webdriver
15
+ .actions({
16
+ bridge: true,
17
+ })
18
+ .sendKeys(Key.TAB)
19
+ .pause(500)
20
+ .perform();
21
+ const secondFocus = await context.takeScreenshot();
22
+
23
+ await context.matchImages({ firstFocus, secondFocus });
24
+ });
25
+ };
26
+
27
+ kind('CloseButtonIcon', () => {
28
+ story('Tabbable', ({ setStoryParameters }) => {
29
+ setStoryParameters({
30
+ skip: {
31
+ 'do not pass on teamcity': { in: ['firefox2022', 'firefox2022Dark'] },
32
+ 'only available in theme2022': { in: /^(?!\b.*2022.*\b)/ },
33
+ },
34
+ });
35
+ clickThenTAB('notTabbable');
36
+ clickThenTAB('tabbable');
37
+ });
38
+ story('Side', ({ setStoryParameters }) => {
39
+ setStoryParameters({
40
+ skip: { 'only available in theme2022': { in: /^(?!\b.*2022.*\b)/ } },
41
+ });
42
+ });
43
+ story('VerticalAlign', ({ setStoryParameters }) => {
44
+ setStoryParameters({
45
+ skip: { 'only available in theme2022': { in: /^(?!\b.*2022.*\b)/ } },
46
+ });
47
+ });
48
+ });
@@ -8,6 +8,7 @@ import { CommonProps } from '../CommonWrapper';
8
8
  import { ComboBoxExtendedItem } from '../../components/ComboBox';
9
9
  import { SizeProp } from '../../lib/types/props';
10
10
  import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
11
+ export * from './tids';
11
12
  export interface CustomComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps {
12
13
  align?: 'left' | 'center' | 'right';
13
14
  autoFocus?: boolean;
@@ -83,9 +84,6 @@ export declare const DefaultState: {
83
84
  requestStatus: ComboBoxRequestStatus;
84
85
  size: string;
85
86
  };
86
- export declare const CustomComboBoxDataTids: {
87
- readonly comboBoxView: "ComboBoxView__root";
88
- };
89
87
  export declare class CustomComboBox<T> extends React.PureComponent<CustomComboBoxProps<T>, CustomComboBoxState<T>> {
90
88
  static __KONTUR_REACT_UI__: string;
91
89
  static displayName: string;
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.LOADER_SHOW_TIME = exports.DefaultState = exports.DELAY_BEFORE_SHOW_LOADER = exports.CustomComboBoxDataTids = exports.CustomComboBox = void 0;var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;var _exportNames = { DELAY_BEFORE_SHOW_LOADER: true, LOADER_SHOW_TIME: true, DefaultState: true, CustomComboBox: true };exports.LOADER_SHOW_TIME = exports.DefaultState = exports.DELAY_BEFORE_SHOW_LOADER = exports.CustomComboBox = void 0;var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _reactDom = _interopRequireDefault(require("react-dom"));
3
3
  var _globalObject = require("@skbkontur/global-object");
4
4
 
@@ -22,7 +22,9 @@ var _featureFlagsContext = require("../../lib/featureFlagsContext");
22
22
 
23
23
  var _CustomComboBoxTypes = require("./CustomComboBoxTypes");
24
24
  var _CustomComboBoxReducer = require("./CustomComboBoxReducer");
25
- var _ComboBoxView = require("./ComboBoxView");var _class, _CustomComboBox;
25
+ var _ComboBoxView = require("./ComboBoxView");
26
+
27
+ var _tids = require("./tids");Object.keys(_tids).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;if (key in exports && exports[key] === _tids[key]) return;exports[key] = _tids[key];});var _class, _CustomComboBox;
26
28
 
27
29
 
28
30
 
@@ -104,10 +106,6 @@ var DefaultState = exports.DefaultState = {
104
106
  repeatRequest: function repeatRequest() {return undefined;},
105
107
  requestStatus: _CustomComboBoxTypes.ComboBoxRequestStatus.Unknown,
106
108
  size: 'small'
107
- };
108
-
109
- var CustomComboBoxDataTids = exports.CustomComboBoxDataTids = {
110
- comboBoxView: 'ComboBoxView__root'
111
109
  };var
112
110
 
113
111
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_utils","_fixClickFocusIE","_CommonWrapper","_decorator","_rootNode","_featureFlagsContext","_CustomComboBoxTypes","_CustomComboBoxReducer","_ComboBoxView","_class","_CustomComboBox","DELAY_BEFORE_SHOW_LOADER","exports","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","ComboBoxRequestStatus","Unknown","size","CustomComboBoxDataTids","comboBoxView","CustomComboBox","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","requestId","cancelationToken","reducer","cancelLoaderDelay","focus","props","disabled","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","sync","updateState","effects","nextState","setState","stateAndEffect","_ref","forEach","handleEffect","React","version","search","ReactDOM","flushSync","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","handleMobileClose","handleInputBlur","handleClickOutside","e","fixClickFocusIE","close","globalObject","setTimeout","handleInputClick","_inheritsLoose2","default","_proto","prototype","_search","_asyncToGenerator2","_regenerator","mark","_callee","query","_this2","getItems","cancelPromise","expectingId","wrap","_callee$","_context","prev","next","Promise","_","reject","loaderShowDelay","resolve","cancelLoader","taskWithDelay","catch","race","sent","t0","code","finish","stop","_x","cancelSearch","CancelationError","open","render","_this3","viewProps","align","borderless","disablePortal","error","drawArrow","menuPos","menuAlign","placeholder","totalCount","warning","id","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","onValueChange","onClickOutside","onFocus","onMobileClose","onFocusOutside","onInputBlur","onInputValueChange","onInputFocus","onInputClick","onInputKeyDown","event","persist","onMouseEnter","onMouseOver","onMouseLeave","renderItem","renderNotFound","itemWrapper","renderValue","renderTotalCount","renderAddButton","refInput","refMenu","menu","refInputLikeText","createElement","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","CommonWrapper","ComboBoxView","_extends2","ref","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","fixValueChange","comboBoxAllowValueChangeInEditingState","reset","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["CustomComboBox.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { Input, InputIconType } from '../../components/Input';\nimport { Menu } from '../Menu';\nimport { InputLikeText } from '../InputLikeText';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { CancelationError, taskWithDelay } from '../../lib/utils';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { SizeProp } from '../../lib/types/props';\nimport {\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n getFullReactUIFlagsContext,\n} from '../../lib/featureFlagsContext';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { CustomComboBoxAction, CustomComboBoxEffect, reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport interface CustomComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n maxLength?: number;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n drawArrow?: boolean;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n searchOnFocus?: boolean;\n onValueChange?: (value: T) => void;\n onInputValueChange?: (value: string) => Nullable<string> | void;\n onUnexpectedInput?: (value: string) => void | null | T;\n onFocus?: () => void;\n onBlur?: () => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n placeholder?: string;\n size?: SizeProp;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxMenuHeight?: number | string;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state?: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType;\n renderValue: (value: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n valueToString: (value: T) => string;\n itemToValue: (item: T) => string | number;\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface CustomComboBoxState<T> {\n editing: boolean;\n loading: boolean;\n opened: boolean;\n textValue: string;\n items: Nullable<Array<ComboBoxExtendedItem<T>>>;\n inputChanged: boolean;\n focused: boolean;\n repeatRequest: () => void;\n requestStatus: ComboBoxRequestStatus;\n}\n\nexport const DELAY_BEFORE_SHOW_LOADER = 300;\nexport const LOADER_SHOW_TIME = 1000;\n\nexport const DefaultState = {\n inputChanged: false,\n editing: false,\n items: null,\n loading: false,\n opened: false,\n focused: false,\n textValue: '',\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n size: 'small',\n};\n\nexport const CustomComboBoxDataTids = {\n comboBoxView: 'ComboBoxView__root',\n} as const;\n\n@responsiveLayout\n@rootNode\nexport class CustomComboBox<T> extends React.PureComponent<CustomComboBoxProps<T>, CustomComboBoxState<T>> {\n public static __KONTUR_REACT_UI__ = 'CustomComboBox';\n public static displayName = 'CustomComboBox';\n\n public state: CustomComboBoxState<T> = DefaultState;\n public input: Nullable<Input>;\n public menu: Nullable<Menu>;\n public inputLikeText: Nullable<InputLikeText>;\n public requestId = 0;\n public loaderShowDelay: Nullable<Promise<void>>;\n private focused = false;\n private cancelationToken: Nullable<(reason?: Error) => void> = null;\n private isMobileLayout!: boolean;\n private featureFlags!: ReactUIFeatureFlags;\n\n private reducer = reducer;\n public cancelLoaderDelay: () => void = () => null;\n\n /**\n * @public\n */\n public focus = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.input) {\n this.input.focus();\n } else if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n };\n\n /**\n * @public\n */\n public selectInputText = () => {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.selectAll();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.handleBlur();\n };\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public async search(query: string = this.state.textValue) {\n const { getItems } = this.props;\n\n const cancelPromise: Promise<never> = new Promise((_, reject) => (this.cancelationToken = reject));\n this.requestId += 1;\n const expectingId = this.requestId;\n\n if (!this.loaderShowDelay) {\n this.loaderShowDelay = new Promise<void>((resolve) => {\n const cancelLoader = taskWithDelay(() => {\n this.dispatch({ type: 'RequestItems' });\n globalObject.setTimeout(resolve, LOADER_SHOW_TIME);\n }, DELAY_BEFORE_SHOW_LOADER);\n\n cancelPromise.catch(() => cancelLoader());\n\n this.cancelLoaderDelay = () => {\n cancelLoader();\n resolve();\n };\n });\n }\n\n try {\n const items = await Promise.race([getItems(query), cancelPromise]);\n if (this.state.loading) {\n await Promise.race([this.loaderShowDelay, cancelPromise]);\n }\n if (expectingId === this.requestId) {\n this.dispatch({\n type: 'ReceiveItems',\n items,\n });\n }\n } catch (error) {\n if (error && error.code === 'CancelationError') {\n this.dispatch({ type: 'CancelRequest' });\n } else if (expectingId === this.requestId) {\n this.dispatch({\n type: 'RequestFailure',\n repeatRequest: () => {\n this.search(query);\n if (this.input) {\n this.input.focus();\n }\n },\n });\n }\n } finally {\n if (expectingId === this.requestId) {\n if (!this.state.loading) {\n this.cancelLoaderDelay();\n }\n this.cancelationToken = null;\n this.loaderShowDelay = null;\n }\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.cancelationToken) {\n this.cancelationToken(new CancelationError());\n }\n }\n\n /**\n * @public\n */\n public open() {\n this.dispatch({ type: 'Open' });\n }\n\n /**\n * @public\n */\n public close() {\n this.dispatch({ type: 'Close' });\n }\n\n public render() {\n const viewProps = {\n align: this.props.align,\n borderless: this.props.borderless,\n disabled: this.props.disabled,\n disablePortal: this.props.disablePortal,\n editing: this.state.editing,\n error: this.props.error,\n items: this.state.items,\n loading: this.state.loading,\n opened: this.state.opened,\n drawArrow: this.props.drawArrow,\n menuPos: this.props.menuPos,\n menuAlign: this.props.menuAlign,\n placeholder: this.props.placeholder,\n size: this.props.size,\n textValue: this.state.textValue,\n totalCount: this.props.totalCount,\n value: this.props.value,\n warning: this.props.warning,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-label': this.props['aria-label'],\n id: this.props.id,\n width: this.props.width,\n maxLength: this.props.maxLength,\n maxMenuHeight: this.props.maxMenuHeight,\n leftIcon: this.props.leftIcon,\n rightIcon: this.props.rightIcon,\n inputMode: this.props.inputMode,\n\n onValueChange: this.handleValueChange,\n onClickOutside: this.handleClickOutside,\n onFocus: this.handleFocus,\n onMobileClose: this.handleMobileClose,\n onFocusOutside: this.handleBlur,\n onInputBlur: this.handleInputBlur,\n onInputValueChange: (value: string) => this.dispatch({ type: 'TextChange', value }),\n onInputFocus: this.handleFocus,\n onInputClick: this.handleInputClick,\n onInputKeyDown: (event: React.KeyboardEvent) => {\n event.persist();\n this.dispatch({ type: 'KeyPress', event });\n },\n onMouseEnter: this.props.onMouseEnter,\n onMouseOver: this.props.onMouseOver,\n onMouseLeave: this.props.onMouseLeave,\n renderItem: this.props.renderItem,\n renderNotFound: this.props.renderNotFound,\n itemWrapper: this.props.itemWrapper,\n renderValue: this.props.renderValue,\n renderTotalCount: this.props.renderTotalCount,\n renderAddButton: this.props.renderAddButton,\n repeatRequest: this.state.repeatRequest,\n requestStatus: this.state.requestStatus,\n\n refInput: (input: Nullable<Input>) => {\n this.input = input;\n },\n refMenu: (menu: Nullable<Menu>) => {\n this.menu = menu;\n },\n refInputLikeText: (inputLikeText: Nullable<InputLikeText>) => {\n this.inputLikeText = inputLikeText;\n },\n };\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper {...this.props}>\n <ComboBoxView {...viewProps} size={this.props.size} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public componentDidMount() {\n this.dispatch({ type: 'Mount' }, false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: CustomComboBoxProps<T>, prevState: CustomComboBoxState<T>) {\n if (prevState.editing && !this.state.editing) {\n this.handleBlur();\n }\n this.dispatch(\n {\n type: 'DidUpdate',\n prevProps,\n prevState,\n fixValueChange: this.featureFlags.comboBoxAllowValueChangeInEditingState,\n },\n false,\n );\n }\n\n /**\n * @public\n */\n public reset() {\n this.dispatch({ type: 'Reset' });\n }\n\n private dispatch = (action: CustomComboBoxAction<T>, sync = true) => {\n const updateState = (action: CustomComboBoxAction<T>) => {\n let effects: Array<CustomComboBoxEffect<T>>;\n let nextState: Pick<CustomComboBoxState<T>, never>;\n\n this.setState(\n (state) => {\n const stateAndEffect = this.reducer(state, this.props, action);\n [nextState, effects] = stateAndEffect instanceof Array ? stateAndEffect : [stateAndEffect, []];\n return nextState;\n },\n () => {\n effects.forEach(this.handleEffect);\n },\n );\n };\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(() => updateState(action));\n } else {\n updateState(action);\n }\n };\n\n private handleEffect = (effect: CustomComboBoxEffect<T>) => {\n effect(this.dispatch, this.getState, this.getProps, () => this);\n };\n\n private getProps = () => this.props;\n\n private getState = () => this.state;\n\n private handleValueChange = (value: T) => {\n this.dispatch({\n type: 'ValueChange',\n value,\n keepFocus: !this.isMobileLayout,\n });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n this.focused = true;\n this.dispatch({ type: 'Focus' });\n };\n\n private handleMobileClose = () => {\n this.handleInputBlur();\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n if (this.state.opened) {\n this.close();\n }\n return;\n }\n\n this.focused = false;\n // workaround for the similar bug with focusout\n // in Firefox, Chrome and IE\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1363964\n globalObject.setTimeout(() => {\n this.dispatch({ type: 'Blur' });\n }, 0);\n };\n\n private handleInputBlur = () => {\n // If menu opened, RenderLayer is active and\n // it would call handleFocusOutside\n // In that way handleBlur would be called\n\n if (this.state.opened && !this.isMobileLayout) {\n return;\n }\n this.handleBlur();\n };\n\n private handleInputClick = () => {\n if (!this.cancelationToken) {\n this.dispatch({ type: 'InputClick' });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_globalObject","_utils","_fixClickFocusIE","_CommonWrapper","_decorator","_rootNode","_featureFlagsContext","_CustomComboBoxTypes","_CustomComboBoxReducer","_ComboBoxView","_tids","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","_class","_CustomComboBox","DELAY_BEFORE_SHOW_LOADER","LOADER_SHOW_TIME","DefaultState","inputChanged","editing","items","loading","opened","focused","textValue","repeatRequest","undefined","requestStatus","ComboBoxRequestStatus","Unknown","size","CustomComboBox","responsiveLayout","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","apply","concat","state","requestId","cancelationToken","reducer","cancelLoaderDelay","focus","props","disabled","input","inputLikeText","selectInputText","selectAll","blur","handleBlur","dispatch","action","sync","updateState","effects","nextState","setState","stateAndEffect","_ref","handleEffect","React","version","search","ReactDOM","flushSync","effect","getState","getProps","handleValueChange","value","type","keepFocus","isMobileLayout","handleFocus","handleMobileClose","handleInputBlur","handleClickOutside","e","fixClickFocusIE","close","globalObject","setTimeout","handleInputClick","_inheritsLoose2","default","_proto","_search","_asyncToGenerator2","_regenerator","mark","_callee","query","_this2","getItems","cancelPromise","expectingId","wrap","_callee$","_context","prev","next","Promise","_","reject","loaderShowDelay","resolve","cancelLoader","taskWithDelay","catch","race","sent","t0","code","finish","stop","_x","cancelSearch","CancelationError","open","render","_this3","viewProps","align","borderless","disablePortal","error","drawArrow","menuPos","menuAlign","placeholder","totalCount","warning","id","width","maxLength","maxMenuHeight","leftIcon","rightIcon","inputMode","onValueChange","onClickOutside","onFocus","onMobileClose","onFocusOutside","onInputBlur","onInputValueChange","onInputFocus","onInputClick","onInputKeyDown","event","persist","onMouseEnter","onMouseOver","onMouseLeave","renderItem","renderNotFound","itemWrapper","renderValue","renderTotalCount","renderAddButton","refInput","refMenu","menu","refInputLikeText","createElement","ReactUIFeatureFlagsContext","Consumer","flags","featureFlags","getFullReactUIFlagsContext","CommonWrapper","ComboBoxView","_extends2","ref","setRootNode","componentDidMount","autoFocus","componentDidUpdate","prevProps","prevState","fixValueChange","comboBoxAllowValueChangeInEditingState","reset","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["CustomComboBox.tsx"],"sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { Input, InputIconType } from '../../components/Input';\nimport { Menu } from '../Menu';\nimport { InputLikeText } from '../InputLikeText';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { CancelationError, taskWithDelay } from '../../lib/utils';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ComboBoxExtendedItem } from '../../components/ComboBox';\nimport { SizeProp } from '../../lib/types/props';\nimport {\n ReactUIFeatureFlags,\n ReactUIFeatureFlagsContext,\n getFullReactUIFlagsContext,\n} from '../../lib/featureFlagsContext';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { CustomComboBoxAction, CustomComboBoxEffect, reducer } from './CustomComboBoxReducer';\nimport { ComboBoxView } from './ComboBoxView';\n\nexport * from './tids';\n\nexport interface CustomComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n maxLength?: number;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n drawArrow?: boolean;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n searchOnFocus?: boolean;\n onValueChange?: (value: T) => void;\n onInputValueChange?: (value: string) => Nullable<string> | void;\n onUnexpectedInput?: (value: string) => void | null | T;\n onFocus?: () => void;\n onBlur?: () => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n placeholder?: string;\n size?: SizeProp;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxMenuHeight?: number | string;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state?: MenuItemState) => React.ReactNode;\n itemWrapper?: (item: T) => React.ComponentType;\n renderValue: (value: T) => React.ReactNode;\n renderAddButton?: (query?: string) => React.ReactNode;\n valueToString: (value: T) => string;\n itemToValue: (item: T) => string | number;\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface CustomComboBoxState<T> {\n editing: boolean;\n loading: boolean;\n opened: boolean;\n textValue: string;\n items: Nullable<Array<ComboBoxExtendedItem<T>>>;\n inputChanged: boolean;\n focused: boolean;\n repeatRequest: () => void;\n requestStatus: ComboBoxRequestStatus;\n}\n\nexport const DELAY_BEFORE_SHOW_LOADER = 300;\nexport const LOADER_SHOW_TIME = 1000;\n\nexport const DefaultState = {\n inputChanged: false,\n editing: false,\n items: null,\n loading: false,\n opened: false,\n focused: false,\n textValue: '',\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n size: 'small',\n};\n\n@responsiveLayout\n@rootNode\nexport class CustomComboBox<T> extends React.PureComponent<CustomComboBoxProps<T>, CustomComboBoxState<T>> {\n public static __KONTUR_REACT_UI__ = 'CustomComboBox';\n public static displayName = 'CustomComboBox';\n\n public state: CustomComboBoxState<T> = DefaultState;\n public input: Nullable<Input>;\n public menu: Nullable<Menu>;\n public inputLikeText: Nullable<InputLikeText>;\n public requestId = 0;\n public loaderShowDelay: Nullable<Promise<void>>;\n private focused = false;\n private cancelationToken: Nullable<(reason?: Error) => void> = null;\n private isMobileLayout!: boolean;\n private featureFlags!: ReactUIFeatureFlags;\n\n private reducer = reducer;\n public cancelLoaderDelay: () => void = () => null;\n\n /**\n * @public\n */\n public focus = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.input) {\n this.input.focus();\n } else if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n };\n\n /**\n * @public\n */\n public selectInputText = () => {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.selectAll();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.handleBlur();\n };\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public async search(query: string = this.state.textValue) {\n const { getItems } = this.props;\n\n const cancelPromise: Promise<never> = new Promise((_, reject) => (this.cancelationToken = reject));\n this.requestId += 1;\n const expectingId = this.requestId;\n\n if (!this.loaderShowDelay) {\n this.loaderShowDelay = new Promise<void>((resolve) => {\n const cancelLoader = taskWithDelay(() => {\n this.dispatch({ type: 'RequestItems' });\n globalObject.setTimeout(resolve, LOADER_SHOW_TIME);\n }, DELAY_BEFORE_SHOW_LOADER);\n\n cancelPromise.catch(() => cancelLoader());\n\n this.cancelLoaderDelay = () => {\n cancelLoader();\n resolve();\n };\n });\n }\n\n try {\n const items = await Promise.race([getItems(query), cancelPromise]);\n if (this.state.loading) {\n await Promise.race([this.loaderShowDelay, cancelPromise]);\n }\n if (expectingId === this.requestId) {\n this.dispatch({\n type: 'ReceiveItems',\n items,\n });\n }\n } catch (error) {\n if (error && error.code === 'CancelationError') {\n this.dispatch({ type: 'CancelRequest' });\n } else if (expectingId === this.requestId) {\n this.dispatch({\n type: 'RequestFailure',\n repeatRequest: () => {\n this.search(query);\n if (this.input) {\n this.input.focus();\n }\n },\n });\n }\n } finally {\n if (expectingId === this.requestId) {\n if (!this.state.loading) {\n this.cancelLoaderDelay();\n }\n this.cancelationToken = null;\n this.loaderShowDelay = null;\n }\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.cancelationToken) {\n this.cancelationToken(new CancelationError());\n }\n }\n\n /**\n * @public\n */\n public open() {\n this.dispatch({ type: 'Open' });\n }\n\n /**\n * @public\n */\n public close() {\n this.dispatch({ type: 'Close' });\n }\n\n public render() {\n const viewProps = {\n align: this.props.align,\n borderless: this.props.borderless,\n disabled: this.props.disabled,\n disablePortal: this.props.disablePortal,\n editing: this.state.editing,\n error: this.props.error,\n items: this.state.items,\n loading: this.state.loading,\n opened: this.state.opened,\n drawArrow: this.props.drawArrow,\n menuPos: this.props.menuPos,\n menuAlign: this.props.menuAlign,\n placeholder: this.props.placeholder,\n size: this.props.size,\n textValue: this.state.textValue,\n totalCount: this.props.totalCount,\n value: this.props.value,\n warning: this.props.warning,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-label': this.props['aria-label'],\n id: this.props.id,\n width: this.props.width,\n maxLength: this.props.maxLength,\n maxMenuHeight: this.props.maxMenuHeight,\n leftIcon: this.props.leftIcon,\n rightIcon: this.props.rightIcon,\n inputMode: this.props.inputMode,\n\n onValueChange: this.handleValueChange,\n onClickOutside: this.handleClickOutside,\n onFocus: this.handleFocus,\n onMobileClose: this.handleMobileClose,\n onFocusOutside: this.handleBlur,\n onInputBlur: this.handleInputBlur,\n onInputValueChange: (value: string) => this.dispatch({ type: 'TextChange', value }),\n onInputFocus: this.handleFocus,\n onInputClick: this.handleInputClick,\n onInputKeyDown: (event: React.KeyboardEvent) => {\n event.persist();\n this.dispatch({ type: 'KeyPress', event });\n },\n onMouseEnter: this.props.onMouseEnter,\n onMouseOver: this.props.onMouseOver,\n onMouseLeave: this.props.onMouseLeave,\n renderItem: this.props.renderItem,\n renderNotFound: this.props.renderNotFound,\n itemWrapper: this.props.itemWrapper,\n renderValue: this.props.renderValue,\n renderTotalCount: this.props.renderTotalCount,\n renderAddButton: this.props.renderAddButton,\n repeatRequest: this.state.repeatRequest,\n requestStatus: this.state.requestStatus,\n\n refInput: (input: Nullable<Input>) => {\n this.input = input;\n },\n refMenu: (menu: Nullable<Menu>) => {\n this.menu = menu;\n },\n refInputLikeText: (inputLikeText: Nullable<InputLikeText>) => {\n this.inputLikeText = inputLikeText;\n },\n };\n\n return (\n <ReactUIFeatureFlagsContext.Consumer>\n {(flags) => {\n this.featureFlags = getFullReactUIFlagsContext(flags);\n return (\n <CommonWrapper {...this.props}>\n <ComboBoxView {...viewProps} size={this.props.size} ref={this.setRootNode} />\n </CommonWrapper>\n );\n }}\n </ReactUIFeatureFlagsContext.Consumer>\n );\n }\n\n public componentDidMount() {\n this.dispatch({ type: 'Mount' }, false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: CustomComboBoxProps<T>, prevState: CustomComboBoxState<T>) {\n if (prevState.editing && !this.state.editing) {\n this.handleBlur();\n }\n this.dispatch(\n {\n type: 'DidUpdate',\n prevProps,\n prevState,\n fixValueChange: this.featureFlags.comboBoxAllowValueChangeInEditingState,\n },\n false,\n );\n }\n\n /**\n * @public\n */\n public reset() {\n this.dispatch({ type: 'Reset' });\n }\n\n private dispatch = (action: CustomComboBoxAction<T>, sync = true) => {\n const updateState = (action: CustomComboBoxAction<T>) => {\n let effects: Array<CustomComboBoxEffect<T>>;\n let nextState: Pick<CustomComboBoxState<T>, never>;\n\n this.setState(\n (state) => {\n const stateAndEffect = this.reducer(state, this.props, action);\n [nextState, effects] = stateAndEffect instanceof Array ? stateAndEffect : [stateAndEffect, []];\n return nextState;\n },\n () => {\n effects.forEach(this.handleEffect);\n },\n );\n };\n\n // Auto-batching React@18 creates problems that are fixed with flushSync\n // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(() => updateState(action));\n } else {\n updateState(action);\n }\n };\n\n private handleEffect = (effect: CustomComboBoxEffect<T>) => {\n effect(this.dispatch, this.getState, this.getProps, () => this);\n };\n\n private getProps = () => this.props;\n\n private getState = () => this.state;\n\n private handleValueChange = (value: T) => {\n this.dispatch({\n type: 'ValueChange',\n value,\n keepFocus: !this.isMobileLayout,\n });\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n this.focused = true;\n this.dispatch({ type: 'Focus' });\n };\n\n private handleMobileClose = () => {\n this.handleInputBlur();\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n if (this.state.opened) {\n this.close();\n }\n return;\n }\n\n this.focused = false;\n // workaround for the similar bug with focusout\n // in Firefox, Chrome and IE\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1363964\n globalObject.setTimeout(() => {\n this.dispatch({ type: 'Blur' });\n }, 0);\n };\n\n private handleInputBlur = () => {\n // If menu opened, RenderLayer is active and\n // it would call handleFocusOutside\n // In that way handleBlur would be called\n\n if (this.state.opened && !this.isMobileLayout) {\n return;\n }\n this.handleBlur();\n };\n\n private handleInputClick = () => {\n if (!this.cancelationToken) {\n this.dispatch({ type: 'InputClick' });\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { story, kind, test } from 'creevey';
2
+
3
+ const FIREFOX_REGEXP = /.*firefox.*/i;
4
+
5
+ kind('ComboBoxView', () => {
6
+ story('InputLikeText', ({ setStoryParameters }) => {
7
+ setStoryParameters({
8
+ skip: {
9
+ 'story-skip-0': {
10
+ in: FIREFOX_REGEXP,
11
+ tests: ['focused first element'],
12
+ },
13
+ },
14
+ });
15
+
16
+ test('plain', async (context) => {
17
+ await context.matchImage(await context.takeScreenshot(), 'plain');
18
+ });
19
+
20
+ test('focused first element', async (context) => {
21
+ await context.webdriver
22
+ .actions({
23
+ bridge: true,
24
+ })
25
+ .click(context.webdriver.findElement({ css: '[data-comp-name~="InputLikeText"]' }))
26
+ .perform();
27
+ await context.matchImage(await context.takeScreenshot(), 'focused first element');
28
+ });
29
+ });
30
+ });
@@ -0,0 +1,3 @@
1
+ export declare const CustomComboBoxDataTids: {
2
+ readonly comboBoxView: "ComboBoxView__root";
3
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";exports.__esModule = true;exports.CustomComboBoxDataTids = void 0;var CustomComboBoxDataTids = exports.CustomComboBoxDataTids = {
2
+ comboBoxView: 'ComboBoxView__root'
3
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CustomComboBoxDataTids","exports","comboBoxView"],"sources":["tids.ts"],"sourcesContent":["export const CustomComboBoxDataTids = {\n comboBoxView: 'ComboBoxView__root',\n} as const;\n"],"mappings":"+EAAO,IAAMA,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG;EACpCE,YAAY,EAAE;AAChB,CAAU","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ import { story, kind, test } from 'creevey';
2
+
3
+ kind('FileUploaderFile', () => {
4
+ story('FileUploaderFileWithValidationError', ({ setStoryParameters }) => {
5
+ setStoryParameters({
6
+ skip: {
7
+ 'story-skip-0': {
8
+ in: /^(?!\b(chrome2022)\b)/,
9
+ },
10
+ },
11
+ });
12
+
13
+ test('hover', async (context) => {
14
+ await context.webdriver
15
+ .actions({
16
+ bridge: true,
17
+ })
18
+ .move({
19
+ origin: context.webdriver.findElement({ css: '[data-tid="FileUploader__fileName"]' }),
20
+ })
21
+ .perform();
22
+ await context.matchImage(await context.takeScreenshot(), 'hover');
23
+ });
24
+ });
25
+ });
@@ -0,0 +1,83 @@
1
+ import { story, kind, test } from 'creevey';
2
+
3
+ import { delay } from '../../../lib/delay';
4
+
5
+ const testScrollLockUnlock = () => {
6
+ test('scroll, lock, unlock', async (context) => {
7
+ const toggle = async () => {
8
+ await context.webdriver
9
+ .actions({
10
+ bridge: true,
11
+ })
12
+ .click(context.webdriver.findElement({ css: '[data-tid~="toggle-lock"]' }))
13
+ .perform();
14
+ await delay(1000);
15
+ };
16
+ await context.webdriver.executeScript(function () {
17
+ const scrollContainer = window.document.documentElement;
18
+ scrollContainer.scrollTop = scrollContainer.scrollHeight;
19
+ });
20
+ const scrolled = await context.webdriver.takeScreenshot();
21
+ await toggle();
22
+ const locked = await context.webdriver.takeScreenshot();
23
+ await toggle();
24
+ const unlocked = await context.webdriver.takeScreenshot();
25
+ await context.matchImages({ scrolled, locked, unlocked });
26
+ });
27
+ };
28
+
29
+ kind('HideBodyVerticalScroll', () => {
30
+ story('Sample', ({ setStoryParameters }) => {
31
+ setStoryParameters({
32
+ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } },
33
+ });
34
+ testScrollLockUnlock();
35
+ });
36
+
37
+ story('WithScrollableContent', ({ setStoryParameters }) => {
38
+ setStoryParameters({
39
+ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } },
40
+ });
41
+ testScrollLockUnlock();
42
+ });
43
+
44
+ story('WithHTMLOverflowYScroll', ({ setStoryParameters }) => {
45
+ setStoryParameters({
46
+ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } },
47
+ });
48
+ testScrollLockUnlock();
49
+ });
50
+
51
+ story('Multiple_WithScrollableContent', ({ setStoryParameters }) => {
52
+ setStoryParameters({
53
+ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } },
54
+ });
55
+ testScrollLockUnlock();
56
+ });
57
+
58
+ story('DisorderlyUnmountAndResize', ({ setStoryParameters }) => {
59
+ setStoryParameters({
60
+ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } },
61
+ });
62
+ test('idle, hide, show, resize', async (context) => {
63
+ const toggle = async (index: number) => {
64
+ await context.webdriver.findElement({ css: `div:nth-of-type(${index}) [data-tid~="toggle-lock"]` }).click();
65
+ };
66
+
67
+ const idle = await context.webdriver.takeScreenshot();
68
+
69
+ await toggle(1);
70
+ await toggle(2);
71
+ const hide = await context.webdriver.takeScreenshot();
72
+
73
+ await toggle(1);
74
+ await toggle(2);
75
+ const show = await context.webdriver.takeScreenshot();
76
+
77
+ await context.webdriver.findElement({ css: '[data-tid="resize"]' }).click();
78
+ const resize = await context.webdriver.takeScreenshot();
79
+
80
+ await context.matchImages({ idle, hide, show, resize });
81
+ });
82
+ });
83
+ });
@@ -0,0 +1,90 @@
1
+ import { story, kind, test } from 'creevey';
2
+
3
+ kind('Menu', () => {
4
+ story('WithMaxHeight', ({ setStoryParameters }) => {
5
+ setStoryParameters({
6
+ captureElement: '[data-tid="menu-container"',
7
+ skip: {
8
+ flacky: { in: ['chrome2022'] },
9
+ },
10
+ });
11
+
12
+ test('idle', async (context) => {
13
+ await context.matchImage(await context.takeScreenshot(), 'idle');
14
+ });
15
+
16
+ test('moved up from top to the last Item', async (context) => {
17
+ await context.webdriver
18
+ .actions({
19
+ bridge: true,
20
+ })
21
+ .click(context.webdriver.findElement({ css: '#move-up' }))
22
+ .perform();
23
+ await context.matchImage(await context.takeScreenshot(), 'moved up from top to the last Item');
24
+ });
25
+
26
+ test('moved up from bottom to the first Item', async (context) => {
27
+ await context.webdriver
28
+ .actions({
29
+ bridge: true,
30
+ })
31
+ .click(context.webdriver.findElement({ css: '#move-up' }))
32
+ .click(context.webdriver.findElement({ css: '#move-up' }))
33
+ .click(context.webdriver.findElement({ css: '#move-up' }))
34
+ .perform();
35
+ await context.matchImage(await context.takeScreenshot(), 'moved up from bottom to the first Item');
36
+ });
37
+
38
+ test('moved down from top to the last Item', async (context) => {
39
+ await context.webdriver
40
+ .actions({
41
+ bridge: true,
42
+ })
43
+ .click(context.webdriver.findElement({ css: '#move-up' }))
44
+ .click(context.webdriver.findElement({ css: '#move-up' }))
45
+ .click(context.webdriver.findElement({ css: '#move-up' }))
46
+ .click(context.webdriver.findElement({ css: '#move-down' }))
47
+ .click(context.webdriver.findElement({ css: '#move-down' }))
48
+ .perform();
49
+ await context.matchImage(await context.takeScreenshot(), 'moved down from top to the last Item');
50
+ });
51
+
52
+ test('moved down from bottom to the first Item', async (context) => {
53
+ await context.webdriver
54
+ .actions({
55
+ bridge: true,
56
+ })
57
+ .click(context.webdriver.findElement({ css: '#move-up' }))
58
+ .click(context.webdriver.findElement({ css: '#move-up' }))
59
+ .click(context.webdriver.findElement({ css: '#move-up' }))
60
+ .click(context.webdriver.findElement({ css: '#move-down' }))
61
+ .click(context.webdriver.findElement({ css: '#move-down' }))
62
+ .click(context.webdriver.findElement({ css: '#move-down' }))
63
+ .perform();
64
+ await context.matchImage(await context.takeScreenshot(), 'moved down from bottom to the first Item');
65
+ });
66
+ });
67
+
68
+ story('WithDisabledMenuItem', ({ setStoryParameters }) => {
69
+ setStoryParameters({
70
+ skip: {
71
+ 'hover does not work in chrome': { in: ['chrome2022', 'chrome2022Dark'], tests: ['mouseenter'] },
72
+ },
73
+ });
74
+
75
+ test('mouseenter', async (context) => {
76
+ await context.webdriver
77
+ .actions({
78
+ bridge: true,
79
+ })
80
+ .click(context.webdriver.findElement({ css: '[data-tid="menuitem-notdisabled"]' }))
81
+ .perform();
82
+ await context.matchImage(await context.takeScreenshot(), 'mouseenter');
83
+ });
84
+ });
85
+ story('WithItemsWithIconsWithoutTextAlignment', ({ setStoryParameters }) => {
86
+ setStoryParameters({
87
+ skip: { 'themes dont affect logic': { in: /^(?!\bchrome2022\b)/ } },
88
+ });
89
+ });
90
+ });
@@ -3,6 +3,7 @@ import { HTMLProps } from '../../typings/html';
3
3
  import { PopupPositionsType } from '../Popup';
4
4
  import { CommonProps } from '../CommonWrapper';
5
5
  import { MenuProps } from '../Menu';
6
+ export * from './tids';
6
7
  export interface PopupMenuCaptionProps {
7
8
  opened: boolean;
8
9
  openMenu: (firstItemShouldBeSelected?: boolean) => void;
@@ -55,10 +56,6 @@ export declare const PopupMenuType: {
55
56
  readonly Dropdown: "dropdown";
56
57
  readonly Tooltip: "tooltip";
57
58
  };
58
- export declare const PopupMenuDataTids: {
59
- readonly root: "PopupMenu__root";
60
- readonly caption: "PopupMenu__caption";
61
- };
62
59
  type DefaultProps = Required<Pick<PopupMenuProps, 'positions' | 'type' | 'popupHasPin' | 'disableAnimations'>>;
63
60
  export declare class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {
64
61
  static __KONTUR_REACT_UI__: string;
@@ -100,4 +97,3 @@ export declare class PopupMenu extends React.Component<PopupMenuProps, PopupMenu
100
97
  private handleChangeMenuVisible;
101
98
  private handleItemSelection;
102
99
  }
103
- export {};
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.PopupMenuType = exports.PopupMenuDataTids = exports.PopupMenu = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;var _exportNames = { PopupMenuType: true, PopupMenu: true };exports.PopupMenuType = exports.PopupMenu = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _globalObject = require("@skbkontur/global-object");
3
3
 
4
4
  var _utils = require("../../lib/utils");
@@ -22,7 +22,10 @@ var _createPropsGetter = require("../../lib/createPropsGetter");
22
22
  var _Menu = require("../Menu");
23
23
 
24
24
  var _validatePositions = require("./validatePositions");
25
- var _PopupMenu2 = require("./PopupMenu.styles");var _class, _PopupMenu;
25
+ var _PopupMenu2 = require("./PopupMenu.styles");
26
+ var _tids = require("./tids");
27
+
28
+ Object.keys(_tids).forEach(function (key) {if (key === "default" || key === "__esModule") return;if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;if (key in exports && exports[key] === _tids[key]) return;exports[key] = _tids[key];});var _class, _PopupMenu;
26
29
 
27
30
 
28
31
 
@@ -87,11 +90,6 @@ var PopupMenuType = exports.PopupMenuType = {
87
90
  Tooltip: 'tooltip'
88
91
  };
89
92
 
90
- var PopupMenuDataTids = exports.PopupMenuDataTids = {
91
- root: 'PopupMenu__root',
92
- caption: 'PopupMenu__caption'
93
- };
94
-
95
93
  var Positions = [
96
94
  'top left',
97
95
  'top center',
@@ -242,7 +240,7 @@ PopupMenu = exports.PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.
242
240
 
243
241
  return /*#__PURE__*/(
244
242
  _react.default.createElement("span", {
245
- "data-tid": PopupMenuDataTids.caption,
243
+ "data-tid": _tids.PopupMenuDataTids.caption,
246
244
  className: _PopupMenu2.styles.caption(),
247
245
  ref: function ref(element) {return _this.captionWrapper = element;} },
248
246
 
@@ -253,7 +251,7 @@ PopupMenu = exports.PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.
253
251
 
254
252
  return /*#__PURE__*/(
255
253
  _react.default.createElement("span", {
256
- "data-tid": PopupMenuDataTids.caption,
254
+ "data-tid": _tids.PopupMenuDataTids.caption,
257
255
  onClick: _this.handleCaptionClick,
258
256
  onKeyDown: _this.handleCaptionKeyDown,
259
257
  ref: function ref(element) {return _this.captionWrapper = element;},
@@ -364,4 +362,4 @@ PopupMenu = exports.PopupMenu = (0, _rootNode.rootNode)(_class = (0, _decorator.
364
362
 
365
363
  var restoreFocus = event.type === 'keydown';
366
364
  _this.hideMenu(restoreFocus);
367
- };return _this;}(0, _inheritsLoose2.default)(PopupMenu, _React$Component);var _proto = PopupMenu.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ menuOffsetY: theme.popupMenuMenuOffsetY }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props$popupMenu2;var _this$getProps = this.getProps(),popupHasPin = _this$getProps.popupHasPin,disableAnimations = _this$getProps.disableAnimations;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.hideMenuWithoutFocusing, onFocusOutside: this.hideMenuWithoutFocusing, active: this.state.menuVisible }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": PopupMenuDataTids.root, className: _PopupMenu2.styles.container(), style: { width: this.props.width } }, this.renderCaption(), this.captionWrapper && this.props.children && /*#__PURE__*/_react.default.createElement(_Popup.Popup, { id: (_this$props$popupMenu2 = this.props.popupMenuId) != null ? _this$props$popupMenu2 : this.rootId, anchorElement: this.captionWrapper, opened: this.state.menuVisible, hasShadow: true, margin: this.props.popupMargin, hasPin: popupHasPin, pinOffset: this.props.popupPinOffset, positions: this.getPositions(), disableAnimations: disableAnimations, onOpen: this.handleOpen, mobileOnCloseRequest: this.hideMenu, width: this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto' }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none', onKeyDown: this.handleKeyDown, onItemClick: this.handleItemSelection, preventIconsOffset: this.props.preventIconsOffset, cyclicSelection: false, ref: this.menuRef, initialSelectedItemIndex: this.state.firstItemShouldBeSelected ? 0 : -1, header: this.props.header, footer: this.props.footer }, this.props.children)))));};_proto.getPositions = function getPositions() {var positions = this.getProps().positions;if (positions && (0, _validatePositions.isValidPositions)(positions)) {return positions;}return Positions;};return PopupMenu;}(_react.default.Component), _PopupMenu.__KONTUR_REACT_UI__ = 'PopupMenu', _PopupMenu.displayName = 'PopupMenu', _PopupMenu.defaultProps = { positions: Positions, type: PopupMenuType.Tooltip, popupHasPin: true, disableAnimations: false }, _PopupMenu.Type = PopupMenuType, _PopupMenu)) || _class) || _class;
365
+ };return _this;}(0, _inheritsLoose2.default)(PopupMenu, _React$Component);var _proto = PopupMenu.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ menuOffsetY: theme.popupMenuMenuOffsetY }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props$popupMenu2;var _this$getProps = this.getProps(),popupHasPin = _this$getProps.popupHasPin,disableAnimations = _this$getProps.disableAnimations;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.hideMenuWithoutFocusing, onFocusOutside: this.hideMenuWithoutFocusing, active: this.state.menuVisible }, /*#__PURE__*/_react.default.createElement("div", { "data-tid": _tids.PopupMenuDataTids.root, className: _PopupMenu2.styles.container(), style: { width: this.props.width } }, this.renderCaption(), this.captionWrapper && this.props.children && /*#__PURE__*/_react.default.createElement(_Popup.Popup, { id: (_this$props$popupMenu2 = this.props.popupMenuId) != null ? _this$props$popupMenu2 : this.rootId, anchorElement: this.captionWrapper, opened: this.state.menuVisible, hasShadow: true, margin: this.props.popupMargin, hasPin: popupHasPin, pinOffset: this.props.popupPinOffset, positions: this.getPositions(), disableAnimations: disableAnimations, onOpen: this.handleOpen, mobileOnCloseRequest: this.hideMenu, width: this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto' }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none', onKeyDown: this.handleKeyDown, onItemClick: this.handleItemSelection, preventIconsOffset: this.props.preventIconsOffset, cyclicSelection: false, ref: this.menuRef, initialSelectedItemIndex: this.state.firstItemShouldBeSelected ? 0 : -1, header: this.props.header, footer: this.props.footer }, this.props.children)))));};_proto.getPositions = function getPositions() {var positions = this.getProps().positions;if (positions && (0, _validatePositions.isValidPositions)(positions)) {return positions;}return Positions;};return PopupMenu;}(_react.default.Component), _PopupMenu.__KONTUR_REACT_UI__ = 'PopupMenu', _PopupMenu.displayName = 'PopupMenu', _PopupMenu.defaultProps = { positions: Positions, type: PopupMenuType.Tooltip, popupHasPin: true, disableAnimations: false }, _PopupMenu.Type = PopupMenuType, _PopupMenu)) || _class) || _class;