@skbkontur/react-ui 4.10.0-theme2022.4 → 4.11.0-revert-datatids

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 (1219) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +2 -4
  3. package/cjs/components/Autocomplete/Autocomplete.js +10 -15
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +4 -7
  6. package/cjs/components/Button/Button.js +6 -53
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.mixins.js +4 -5
  9. package/cjs/components/Button/Button.mixins.js.map +1 -1
  10. package/cjs/components/Button/Button.styles.d.ts +0 -25
  11. package/cjs/components/Button/Button.styles.js +68 -324
  12. package/cjs/components/Button/Button.styles.js.map +1 -1
  13. package/cjs/components/Center/Center.d.ts +0 -3
  14. package/cjs/components/Center/Center.js +2 -7
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Checkbox/Checkbox.d.ts +0 -3
  17. package/cjs/components/Checkbox/Checkbox.js +15 -42
  18. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -2
  20. package/cjs/components/Checkbox/Checkbox.styles.js +7 -13
  21. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  22. package/cjs/components/ComboBox/ComboBox.d.ts +2 -1
  23. package/cjs/components/ComboBox/ComboBox.js +1 -0
  24. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  25. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +0 -3
  26. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -7
  27. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  28. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +0 -3
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -6
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  31. package/cjs/components/DateInput/DateInput.js +5 -4
  32. package/cjs/components/DateInput/DateInput.js.map +1 -1
  33. package/cjs/components/DatePicker/DatePicker.d.ts +2 -7
  34. package/cjs/components/DatePicker/DatePicker.js +5 -21
  35. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  36. package/cjs/components/DatePicker/Picker.js +2 -26
  37. package/cjs/components/DatePicker/Picker.js.map +1 -1
  38. package/cjs/components/Dropdown/Dropdown.d.ts +0 -3
  39. package/cjs/components/Dropdown/Dropdown.js +14 -11
  40. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  41. package/cjs/components/DropdownMenu/DropdownMenu.js +12 -4
  42. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  43. package/cjs/components/FileUploader/FileUploader.d.ts +0 -5
  44. package/cjs/components/FileUploader/FileUploader.js +33 -56
  45. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  46. package/cjs/components/FileUploader/FileUploader.styles.d.ts +2 -7
  47. package/cjs/components/FileUploader/FileUploader.styles.js +39 -76
  48. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  49. package/cjs/components/FxInput/FxInput.d.ts +0 -4
  50. package/cjs/components/FxInput/FxInput.js +14 -45
  51. package/cjs/components/FxInput/FxInput.js.map +1 -1
  52. package/cjs/components/Gapped/Gapped.d.ts +0 -4
  53. package/cjs/components/Gapped/Gapped.js +3 -8
  54. package/cjs/components/Gapped/Gapped.js.map +1 -1
  55. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +0 -3
  56. package/cjs/components/GlobalLoader/GlobalLoader.js +2 -6
  57. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  58. package/cjs/components/Group/Group.d.ts +0 -5
  59. package/cjs/components/Group/Group.js +9 -36
  60. package/cjs/components/Group/Group.js.map +1 -1
  61. package/cjs/components/Input/Input.d.ts +0 -5
  62. package/cjs/components/Input/Input.js +5 -43
  63. package/cjs/components/Input/Input.js.map +1 -1
  64. package/cjs/components/Link/Link.d.ts +4 -18
  65. package/cjs/components/Link/Link.js +27 -80
  66. package/cjs/components/Link/Link.js.map +1 -1
  67. package/cjs/components/Link/Link.mixins.d.ts +0 -2
  68. package/cjs/components/Link/Link.mixins.js +2 -20
  69. package/cjs/components/Link/Link.mixins.js.map +1 -1
  70. package/cjs/components/Link/Link.styles.d.ts +0 -9
  71. package/cjs/components/Link/Link.styles.js +17 -99
  72. package/cjs/components/Link/Link.styles.js.map +1 -1
  73. package/cjs/components/Loader/Loader.d.ts +0 -4
  74. package/cjs/components/Loader/Loader.js +2 -7
  75. package/cjs/components/Loader/Loader.js.map +1 -1
  76. package/cjs/components/Loader/Loader.styles.js +1 -2
  77. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  78. package/cjs/components/MenuHeader/MenuHeader.d.ts +0 -3
  79. package/cjs/components/MenuHeader/MenuHeader.js +2 -7
  80. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  81. package/cjs/components/MenuItem/MenuItem.d.ts +0 -4
  82. package/cjs/components/MenuItem/MenuItem.js +4 -10
  83. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  84. package/cjs/components/MenuItem/MenuItem.styles.js +2 -6
  85. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  86. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +0 -3
  87. package/cjs/components/MenuSeparator/MenuSeparator.js +3 -7
  88. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  89. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +2 -2
  90. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  91. package/cjs/components/Modal/Modal.d.ts +0 -5
  92. package/cjs/components/Modal/Modal.js +3 -10
  93. package/cjs/components/Modal/Modal.js.map +1 -1
  94. package/cjs/components/Modal/Modal.styles.d.ts +1 -4
  95. package/cjs/components/Modal/Modal.styles.js +15 -38
  96. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  97. package/cjs/components/Modal/ModalBody.js +2 -3
  98. package/cjs/components/Modal/ModalBody.js.map +1 -1
  99. package/cjs/components/Modal/ModalClose.js +4 -9
  100. package/cjs/components/Modal/ModalClose.js.map +1 -1
  101. package/cjs/components/Modal/ModalFooter.d.ts +0 -3
  102. package/cjs/components/Modal/ModalFooter.js +11 -20
  103. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  104. package/cjs/components/Modal/ModalHeader.d.ts +0 -3
  105. package/cjs/components/Modal/ModalHeader.js +16 -28
  106. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  107. package/cjs/components/Paging/Paging.d.ts +0 -7
  108. package/cjs/components/Paging/Paging.js +7 -15
  109. package/cjs/components/Paging/Paging.js.map +1 -1
  110. package/cjs/components/PasswordInput/PasswordInput.d.ts +0 -5
  111. package/cjs/components/PasswordInput/PasswordInput.js +5 -20
  112. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  113. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -5
  114. package/cjs/components/PasswordInput/PasswordInputIcon.js +3 -8
  115. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  116. package/cjs/components/Radio/Radio.d.ts +0 -3
  117. package/cjs/components/Radio/Radio.js +2 -6
  118. package/cjs/components/Radio/Radio.js.map +1 -1
  119. package/cjs/components/RadioGroup/RadioGroup.d.ts +0 -3
  120. package/cjs/components/RadioGroup/RadioGroup.js +2 -6
  121. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  122. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +0 -4
  123. package/cjs/components/ScrollContainer/ScrollContainer.js +4 -14
  124. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  125. package/cjs/components/Select/Select.d.ts +2 -4
  126. package/cjs/components/Select/Select.js +5 -16
  127. package/cjs/components/Select/Select.js.map +1 -1
  128. package/cjs/components/SidePage/SidePage.d.ts +0 -4
  129. package/cjs/components/SidePage/SidePage.js +2 -7
  130. package/cjs/components/SidePage/SidePage.js.map +1 -1
  131. package/cjs/components/SidePage/SidePage.styles.js +2 -3
  132. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  133. package/cjs/components/SidePage/SidePageBody.d.ts +0 -3
  134. package/cjs/components/SidePage/SidePageBody.js +3 -10
  135. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  136. package/cjs/components/SidePage/SidePageContainer.d.ts +0 -3
  137. package/cjs/components/SidePage/SidePageContainer.js +2 -7
  138. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  139. package/cjs/components/SidePage/SidePageFooter.d.ts +0 -3
  140. package/cjs/components/SidePage/SidePageFooter.js +3 -19
  141. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  142. package/cjs/components/SidePage/SidePageHeader.d.ts +0 -7
  143. package/cjs/components/SidePage/SidePageHeader.js +4 -28
  144. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  145. package/cjs/components/Spinner/Spinner.d.ts +1 -4
  146. package/cjs/components/Spinner/Spinner.js +3 -10
  147. package/cjs/components/Spinner/Spinner.js.map +1 -1
  148. package/cjs/components/Spinner/Spinner.styles.d.ts +0 -3
  149. package/cjs/components/Spinner/Spinner.styles.js +5 -31
  150. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  151. package/cjs/components/Sticky/Sticky.d.ts +0 -3
  152. package/cjs/components/Sticky/Sticky.js +3 -7
  153. package/cjs/components/Sticky/Sticky.js.map +1 -1
  154. package/cjs/components/Switcher/Switcher.d.ts +0 -3
  155. package/cjs/components/Switcher/Switcher.js +3 -7
  156. package/cjs/components/Switcher/Switcher.js.map +1 -1
  157. package/cjs/components/Tabs/Indicator.js +2 -4
  158. package/cjs/components/Tabs/Indicator.js.map +1 -1
  159. package/cjs/components/Tabs/Tab.d.ts +0 -3
  160. package/cjs/components/Tabs/Tab.js +2 -7
  161. package/cjs/components/Tabs/Tab.js.map +1 -1
  162. package/cjs/components/Tabs/Tabs.d.ts +0 -4
  163. package/cjs/components/Tabs/Tabs.js +2 -11
  164. package/cjs/components/Tabs/Tabs.js.map +1 -1
  165. package/cjs/components/Textarea/Textarea.d.ts +0 -4
  166. package/cjs/components/Textarea/Textarea.js +4 -11
  167. package/cjs/components/Textarea/Textarea.js.map +1 -1
  168. package/cjs/components/Textarea/TextareaCounter.js +8 -19
  169. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  170. package/cjs/components/Toast/Toast.d.ts +0 -6
  171. package/cjs/components/Toast/Toast.js +2 -9
  172. package/cjs/components/Toast/Toast.js.map +1 -1
  173. package/cjs/components/Toast/ToastStatic.js +1 -1
  174. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  175. package/cjs/components/Toast/ToastView.js +4 -23
  176. package/cjs/components/Toast/ToastView.js.map +1 -1
  177. package/cjs/components/Toggle/Toggle.d.ts +0 -3
  178. package/cjs/components/Toggle/Toggle.js +2 -6
  179. package/cjs/components/Toggle/Toggle.js.map +1 -1
  180. package/cjs/components/Token/Token.d.ts +0 -3
  181. package/cjs/components/Token/Token.js +3 -20
  182. package/cjs/components/Token/Token.js.map +1 -1
  183. package/cjs/components/Token/Token.styles.d.ts +0 -3
  184. package/cjs/components/Token/Token.styles.js +10 -32
  185. package/cjs/components/Token/Token.styles.js.map +1 -1
  186. package/cjs/components/TokenInput/TokenInput.d.ts +0 -4
  187. package/cjs/components/TokenInput/TokenInput.js +2 -14
  188. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  189. package/cjs/components/TokenInput/TokenInputMenu.js +3 -5
  190. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  191. package/cjs/components/Tooltip/Tooltip.d.ts +0 -4
  192. package/cjs/components/Tooltip/Tooltip.js +4 -23
  193. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  194. package/cjs/components/Tooltip/Tooltip.styles.js +3 -3
  195. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  196. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +0 -3
  197. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -6
  198. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  199. package/cjs/internal/Calendar/Calendar.d.ts +0 -6
  200. package/cjs/internal/Calendar/Calendar.js +2 -9
  201. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  202. package/cjs/internal/Calendar/DayCellView.js +2 -13
  203. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  204. package/cjs/internal/Calendar/DayCellView.styles.d.ts +0 -5
  205. package/cjs/internal/Calendar/DayCellView.styles.js +2 -20
  206. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  207. package/cjs/internal/Calendar/MonthView.js +4 -5
  208. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  209. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +0 -7
  210. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +4 -22
  211. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  212. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -3
  213. package/cjs/internal/CustomComboBox/ComboBoxView.js +6 -29
  214. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  215. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -4
  216. package/cjs/internal/CustomComboBox/CustomComboBox.js +5 -7
  217. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  218. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -5
  219. package/cjs/internal/DateSelect/DateSelect.js +4 -37
  220. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  221. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +0 -1
  222. package/cjs/internal/DateSelect/DateSelect.styles.js +16 -23
  223. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  224. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -0
  225. package/cjs/internal/DropdownContainer/DropdownContainer.js +11 -6
  226. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  227. package/cjs/internal/DropdownContainer/getManualPosition.d.ts +19 -0
  228. package/cjs/internal/DropdownContainer/getManualPosition.js +41 -0
  229. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -0
  230. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -7
  231. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +33 -25
  232. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  233. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -3
  234. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +2 -6
  235. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  236. package/cjs/internal/InputLikeText/InputLikeText.d.ts +0 -4
  237. package/cjs/internal/InputLikeText/InputLikeText.js +8 -30
  238. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  239. package/cjs/internal/InternalMenu/InternalMenu.d.ts +0 -3
  240. package/cjs/internal/InternalMenu/InternalMenu.js +3 -8
  241. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  242. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  243. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  244. package/cjs/internal/MaskedInput/MaskedInput.d.ts +0 -3
  245. package/cjs/internal/MaskedInput/MaskedInput.js +3 -7
  246. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  247. package/cjs/internal/Menu/Menu.d.ts +0 -3
  248. package/cjs/internal/Menu/Menu.js +3 -18
  249. package/cjs/internal/Menu/Menu.js.map +1 -1
  250. package/cjs/internal/MobilePopup/MobilePopup.d.ts +0 -4
  251. package/cjs/internal/MobilePopup/MobilePopup.js +3 -10
  252. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  253. package/cjs/internal/Popup/Popup.d.ts +0 -5
  254. package/cjs/internal/Popup/Popup.js +4 -10
  255. package/cjs/internal/Popup/Popup.js.map +1 -1
  256. package/cjs/internal/Popup/PopupPin.js +1 -2
  257. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  258. package/cjs/internal/PopupMenu/PopupMenu.d.ts +0 -4
  259. package/cjs/internal/PopupMenu/PopupMenu.js +4 -9
  260. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  261. package/cjs/internal/ThemePlayground/constants.js +1 -2
  262. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  263. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  264. package/cjs/internal/icons/SpinnerIcon.d.ts +2 -17
  265. package/cjs/internal/icons/SpinnerIcon.js +1 -16
  266. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  267. package/cjs/internal/themes/DefaultTheme.d.ts +0 -59
  268. package/cjs/internal/themes/DefaultTheme.js +3 -127
  269. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  270. package/cjs/internal/themes/Theme2022.d.ts +18 -145
  271. package/cjs/internal/themes/Theme2022.js +64 -334
  272. package/cjs/internal/themes/Theme2022.js.map +1 -1
  273. package/cjs/internal/themes/Theme2022Dark.d.ts +1 -10
  274. package/cjs/internal/themes/Theme2022Dark.js +3 -17
  275. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  276. package/cjs/lib/theming/ThemeFactory.js +7 -0
  277. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  278. package/cjs/lib/theming/ThemeHelpers.d.ts +12 -8
  279. package/cjs/lib/theming/ThemeHelpers.js +24 -26
  280. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  281. package/cjs/lib/theming/themes/DarkTheme.js +1 -1
  282. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  283. package/cjs/lib/theming/themes/Theme2022.js +1 -2
  284. package/cjs/lib/theming/themes/Theme2022.js.map +1 -1
  285. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  286. package/cjs/lib/theming/themes/Theme2022Dark.js +3 -3
  287. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -1
  288. package/cjs/lib/utils.d.ts +0 -2
  289. package/cjs/lib/utils.js +2 -15
  290. package/cjs/lib/utils.js.map +1 -1
  291. package/components/Autocomplete/Autocomplete/Autocomplete.js +8 -12
  292. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  293. package/components/Autocomplete/Autocomplete.d.ts +2 -4
  294. package/components/Button/Button/Button.js +65 -81
  295. package/components/Button/Button/Button.js.map +1 -1
  296. package/components/Button/Button.d.ts +4 -7
  297. package/components/Button/Button.mixins/Button.mixins.js +2 -2
  298. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  299. package/components/Button/Button.styles/Button.styles.js +61 -135
  300. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  301. package/components/Button/Button.styles.d.ts +0 -25
  302. package/components/Center/Center/Center.js +1 -6
  303. package/components/Center/Center/Center.js.map +1 -1
  304. package/components/Center/Center.d.ts +0 -3
  305. package/components/Checkbox/Checkbox/Checkbox.js +8 -28
  306. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  307. package/components/Checkbox/Checkbox.d.ts +0 -3
  308. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +6 -9
  309. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  310. package/components/Checkbox/Checkbox.styles.d.ts +1 -2
  311. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  312. package/components/ComboBox/ComboBox.d.ts +2 -1
  313. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -6
  314. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  315. package/components/CurrencyInput/CurrencyInput.d.ts +0 -3
  316. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -6
  317. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  318. package/components/CurrencyLabel/CurrencyLabel.d.ts +0 -3
  319. package/components/DateInput/DateInput/DateInput.js +1 -6
  320. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  321. package/components/DatePicker/DatePicker/DatePicker.js +5 -16
  322. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  323. package/components/DatePicker/DatePicker.d.ts +2 -7
  324. package/components/DatePicker/Picker/Picker.js +1 -22
  325. package/components/DatePicker/Picker/Picker.js.map +1 -1
  326. package/components/Dropdown/Dropdown/Dropdown.js +13 -13
  327. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  328. package/components/Dropdown/Dropdown.d.ts +0 -3
  329. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +4 -2
  330. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  331. package/components/FileUploader/FileUploader/FileUploader.js +15 -35
  332. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  333. package/components/FileUploader/FileUploader.d.ts +0 -5
  334. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +34 -48
  335. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  336. package/components/FileUploader/FileUploader.styles.d.ts +2 -7
  337. package/components/FxInput/FxInput/FxInput.js +13 -46
  338. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  339. package/components/FxInput/FxInput.d.ts +0 -4
  340. package/components/Gapped/Gapped/Gapped.js +1 -8
  341. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  342. package/components/Gapped/Gapped.d.ts +0 -4
  343. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +1 -4
  344. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  345. package/components/GlobalLoader/GlobalLoader.d.ts +0 -3
  346. package/components/Group/Group/Group.js +6 -33
  347. package/components/Group/Group/Group.js.map +1 -1
  348. package/components/Group/Group.d.ts +0 -5
  349. package/components/Input/Input/Input.js +5 -35
  350. package/components/Input/Input/Input.js.map +1 -1
  351. package/components/Input/Input.d.ts +0 -5
  352. package/components/Link/Link/Link.js +16 -44
  353. package/components/Link/Link/Link.js.map +1 -1
  354. package/components/Link/Link.d.ts +4 -18
  355. package/components/Link/Link.mixins/Link.mixins.js +0 -6
  356. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  357. package/components/Link/Link.mixins.d.ts +0 -2
  358. package/components/Link/Link.styles/Link.styles.js +14 -35
  359. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  360. package/components/Link/Link.styles.d.ts +0 -9
  361. package/components/Loader/Loader/Loader.js +3 -7
  362. package/components/Loader/Loader/Loader.js.map +1 -1
  363. package/components/Loader/Loader.d.ts +0 -4
  364. package/components/Loader/Loader.styles/Loader.styles.js +1 -1
  365. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  366. package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -4
  367. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  368. package/components/MenuHeader/MenuHeader.d.ts +0 -3
  369. package/components/MenuItem/MenuItem/MenuItem.js +9 -14
  370. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  371. package/components/MenuItem/MenuItem.d.ts +0 -4
  372. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  373. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  374. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +0 -4
  375. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  376. package/components/MenuSeparator/MenuSeparator.d.ts +0 -3
  377. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +1 -1
  378. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  379. package/components/Modal/Modal/Modal.js +4 -12
  380. package/components/Modal/Modal/Modal.js.map +1 -1
  381. package/components/Modal/Modal.d.ts +0 -5
  382. package/components/Modal/Modal.styles/Modal.styles.js +9 -18
  383. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  384. package/components/Modal/Modal.styles.d.ts +1 -4
  385. package/components/Modal/ModalBody/ModalBody.js +2 -5
  386. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  387. package/components/Modal/ModalClose/ModalClose.js +2 -6
  388. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  389. package/components/Modal/ModalFooter/ModalFooter.js +5 -10
  390. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  391. package/components/Modal/ModalFooter.d.ts +0 -3
  392. package/components/Modal/ModalHeader/ModalHeader.js +5 -10
  393. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  394. package/components/Modal/ModalHeader.d.ts +0 -3
  395. package/components/Paging/Paging/Paging.js +5 -12
  396. package/components/Paging/Paging/Paging.js.map +1 -1
  397. package/components/Paging/Paging.d.ts +0 -7
  398. package/components/PasswordInput/PasswordInput/PasswordInput.js +3 -12
  399. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  400. package/components/PasswordInput/PasswordInput.d.ts +0 -5
  401. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +3 -14
  402. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
  403. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -5
  404. package/components/Radio/Radio/Radio.js +1 -6
  405. package/components/Radio/Radio/Radio.js.map +1 -1
  406. package/components/Radio/Radio.d.ts +0 -3
  407. package/components/RadioGroup/RadioGroup/RadioGroup.js +0 -4
  408. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  409. package/components/RadioGroup/RadioGroup.d.ts +0 -3
  410. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -6
  411. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  412. package/components/ScrollContainer/ScrollContainer.d.ts +0 -4
  413. package/components/Select/Select/Select.js +5 -13
  414. package/components/Select/Select/Select.js.map +1 -1
  415. package/components/Select/Select.d.ts +2 -4
  416. package/components/SidePage/SidePage/SidePage.js +2 -6
  417. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  418. package/components/SidePage/SidePage.d.ts +0 -4
  419. package/components/SidePage/SidePage.styles/SidePage.styles.js +1 -1
  420. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  421. package/components/SidePage/SidePageBody/SidePageBody.js +6 -10
  422. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  423. package/components/SidePage/SidePageBody.d.ts +0 -3
  424. package/components/SidePage/SidePageContainer/SidePageContainer.js +6 -10
  425. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  426. package/components/SidePage/SidePageContainer.d.ts +0 -3
  427. package/components/SidePage/SidePageFooter/SidePageFooter.js +7 -21
  428. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  429. package/components/SidePage/SidePageFooter.d.ts +0 -3
  430. package/components/SidePage/SidePageHeader/SidePageHeader.js +9 -30
  431. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  432. package/components/SidePage/SidePageHeader.d.ts +0 -7
  433. package/components/Spinner/Spinner/Spinner.js +1 -8
  434. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  435. package/components/Spinner/Spinner.d.ts +1 -4
  436. package/components/Spinner/Spinner.styles/Spinner.styles.js +5 -14
  437. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  438. package/components/Spinner/Spinner.styles.d.ts +0 -3
  439. package/components/Sticky/Sticky/Sticky.js +0 -4
  440. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  441. package/components/Sticky/Sticky.d.ts +0 -3
  442. package/components/Switcher/Switcher/Switcher.js +0 -4
  443. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  444. package/components/Switcher/Switcher.d.ts +0 -3
  445. package/components/Tabs/Indicator/Indicator.js +0 -2
  446. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  447. package/components/Tabs/Tab/Tab.js +0 -4
  448. package/components/Tabs/Tab/Tab.js.map +1 -1
  449. package/components/Tabs/Tab.d.ts +0 -3
  450. package/components/Tabs/Tabs/Tabs.js +0 -5
  451. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  452. package/components/Tabs/Tabs.d.ts +0 -4
  453. package/components/Textarea/Textarea/Textarea.js +3 -14
  454. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  455. package/components/Textarea/Textarea.d.ts +0 -4
  456. package/components/Textarea/TextareaCounter/TextareaCounter.js +4 -13
  457. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  458. package/components/Toast/Toast/Toast.js +10 -16
  459. package/components/Toast/Toast/Toast.js.map +1 -1
  460. package/components/Toast/Toast.d.ts +0 -6
  461. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  462. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  463. package/components/Toast/ToastView/ToastView.js +3 -21
  464. package/components/Toast/ToastView/ToastView.js.map +1 -1
  465. package/components/Toggle/Toggle/Toggle.js +0 -4
  466. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  467. package/components/Toggle/Toggle.d.ts +0 -3
  468. package/components/Token/Token/Token.js +13 -26
  469. package/components/Token/Token/Token.js.map +1 -1
  470. package/components/Token/Token.d.ts +0 -3
  471. package/components/Token/Token.styles/Token.styles.js +10 -19
  472. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  473. package/components/Token/Token.styles.d.ts +0 -3
  474. package/components/TokenInput/TokenInput/TokenInput.js +3 -14
  475. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  476. package/components/TokenInput/TokenInput.d.ts +0 -4
  477. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +0 -2
  478. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  479. package/components/Tooltip/Tooltip/Tooltip.js +2 -16
  480. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  481. package/components/Tooltip/Tooltip.d.ts +0 -4
  482. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +1 -1
  483. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  484. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +0 -4
  485. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  486. package/components/TooltipMenu/TooltipMenu.d.ts +0 -3
  487. package/internal/Calendar/Calendar/Calendar.js +1 -7
  488. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  489. package/internal/Calendar/Calendar.d.ts +0 -6
  490. package/internal/Calendar/DayCellView/DayCellView.js +3 -10
  491. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  492. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +2 -11
  493. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  494. package/internal/Calendar/DayCellView.styles.d.ts +0 -5
  495. package/internal/Calendar/MonthView/MonthView.js +3 -4
  496. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  497. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -12
  498. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  499. package/internal/CustomComboBox/ComboBoxMenu.d.ts +0 -7
  500. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +5 -34
  501. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  502. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -3
  503. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +1 -3
  504. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  505. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -4
  506. package/internal/DateSelect/DateSelect/DateSelect.js +4 -42
  507. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  508. package/internal/DateSelect/DateSelect.d.ts +0 -5
  509. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +16 -19
  510. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  511. package/internal/DateSelect/DateSelect.styles.d.ts +0 -1
  512. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +17 -4
  513. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  514. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -0
  515. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +36 -0
  516. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -0
  517. package/internal/DropdownContainer/getManualPosition/package.json +6 -0
  518. package/internal/DropdownContainer/getManualPosition.d.ts +19 -0
  519. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +39 -20
  520. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  521. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -7
  522. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +1 -4
  523. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  524. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -3
  525. package/internal/InputLikeText/InputLikeText/InputLikeText.js +10 -32
  526. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  527. package/internal/InputLikeText/InputLikeText.d.ts +0 -4
  528. package/internal/InternalMenu/InternalMenu/InternalMenu.js +0 -4
  529. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  530. package/internal/InternalMenu/InternalMenu.d.ts +0 -3
  531. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  532. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  533. package/internal/MaskedInput/MaskedInput/MaskedInput.js +0 -4
  534. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  535. package/internal/MaskedInput/MaskedInput.d.ts +0 -3
  536. package/internal/Menu/Menu/Menu.js +1 -12
  537. package/internal/Menu/Menu/Menu.js.map +1 -1
  538. package/internal/Menu/Menu.d.ts +0 -3
  539. package/internal/MobilePopup/MobilePopup/MobilePopup.js +0 -6
  540. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  541. package/internal/MobilePopup/MobilePopup.d.ts +0 -4
  542. package/internal/Popup/Popup/Popup.js +2 -7
  543. package/internal/Popup/Popup/Popup.js.map +1 -1
  544. package/internal/Popup/Popup.d.ts +0 -5
  545. package/internal/Popup/PopupPin/PopupPin.js +0 -2
  546. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  547. package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -7
  548. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  549. package/internal/PopupMenu/PopupMenu.d.ts +0 -4
  550. package/internal/ThemePlayground/constants/constants.js +0 -3
  551. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  552. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  553. package/internal/icons/SpinnerIcon/SpinnerIcon.js +0 -15
  554. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  555. package/internal/icons/SpinnerIcon.d.ts +2 -17
  556. package/internal/themes/DefaultTheme/DefaultTheme.js +4 -161
  557. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  558. package/internal/themes/DefaultTheme.d.ts +0 -59
  559. package/internal/themes/Theme2022/Theme2022.js +19 -316
  560. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  561. package/internal/themes/Theme2022.d.ts +18 -145
  562. package/internal/themes/Theme2022Dark/Theme2022Dark.js +2 -11
  563. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  564. package/internal/themes/Theme2022Dark.d.ts +1 -10
  565. package/lib/theming/ThemeFactory/ThemeFactory.js +7 -1
  566. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  567. package/lib/theming/ThemeHelpers/ThemeHelpers.js +18 -22
  568. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  569. package/lib/theming/ThemeHelpers.d.ts +12 -8
  570. package/lib/theming/themes/DarkTheme/DarkTheme.js +2 -2
  571. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  572. package/lib/theming/themes/Theme2022/Theme2022.js +1 -2
  573. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -1
  574. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +2 -2
  575. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  576. package/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  577. package/lib/utils/utils.js +1 -2
  578. package/lib/utils/utils.js.map +1 -1
  579. package/lib/utils.d.ts +0 -2
  580. package/package.json +1 -1
  581. package/cjs/components/Autocomplete/relinkAutocompleteTheme.d.ts +0 -2
  582. package/cjs/components/Autocomplete/relinkAutocompleteTheme.js +0 -11
  583. package/cjs/components/Autocomplete/relinkAutocompleteTheme.js.map +0 -1
  584. package/cjs/components/Button/ArrowLeftIcon.d.ts +0 -3
  585. package/cjs/components/Button/ArrowLeftIcon.js +0 -15
  586. package/cjs/components/Button/ArrowLeftIcon.js.map +0 -1
  587. package/cjs/components/Button/ArrowRightIcon.d.ts +0 -3
  588. package/cjs/components/Button/ArrowRightIcon.js +0 -15
  589. package/cjs/components/Button/ArrowRightIcon.js.map +0 -1
  590. package/cjs/components/Button/ButtonArrow.d.ts +0 -8
  591. package/cjs/components/Button/ButtonArrow.js +0 -100
  592. package/cjs/components/Button/ButtonArrow.js.map +0 -1
  593. package/cjs/components/Button/ButtonIcon.d.ts +0 -7
  594. package/cjs/components/Button/ButtonIcon.js +0 -60
  595. package/cjs/components/Button/ButtonIcon.js.map +0 -1
  596. package/cjs/components/Button/getInnerLinkTheme.d.ts +0 -2
  597. package/cjs/components/Button/getInnerLinkTheme.js +0 -16
  598. package/cjs/components/Button/getInnerLinkTheme.js.map +0 -1
  599. package/cjs/components/Checkbox/CheckedIcon.d.ts +0 -3
  600. package/cjs/components/Checkbox/CheckedIcon.js +0 -14
  601. package/cjs/components/Checkbox/CheckedIcon.js.map +0 -1
  602. package/cjs/components/Checkbox/IndeterminateIcon.d.ts +0 -3
  603. package/cjs/components/Checkbox/IndeterminateIcon.js +0 -13
  604. package/cjs/components/Checkbox/IndeterminateIcon.js.map +0 -1
  605. package/cjs/components/DateInput/CalendarIcon.d.ts +0 -3
  606. package/cjs/components/DateInput/CalendarIcon.js +0 -15
  607. package/cjs/components/DateInput/CalendarIcon.js.map +0 -1
  608. package/cjs/components/Dropdown/relinkDropdownTheme.d.ts +0 -2
  609. package/cjs/components/Dropdown/relinkDropdownTheme.js +0 -12
  610. package/cjs/components/Dropdown/relinkDropdownTheme.js.map +0 -1
  611. package/cjs/components/DropdownMenu/relinkDropdownMenuTheme.d.ts +0 -2
  612. package/cjs/components/DropdownMenu/relinkDropdownMenuTheme.js +0 -11
  613. package/cjs/components/DropdownMenu/relinkDropdownMenuTheme.js.map +0 -1
  614. package/cjs/components/FileUploader/UploadIcon.d.ts +0 -3
  615. package/cjs/components/FileUploader/UploadIcon.js +0 -15
  616. package/cjs/components/FileUploader/UploadIcon.js.map +0 -1
  617. package/cjs/components/FxInput/FxInputRestoreBtn.d.ts +0 -5
  618. package/cjs/components/FxInput/FxInputRestoreBtn.js +0 -75
  619. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +0 -1
  620. package/cjs/components/FxInput/MathFunctionIcon.d.ts +0 -3
  621. package/cjs/components/FxInput/MathFunctionIcon.js +0 -15
  622. package/cjs/components/FxInput/MathFunctionIcon.js.map +0 -1
  623. package/cjs/components/FxInput/UndoIcon.d.ts +0 -3
  624. package/cjs/components/FxInput/UndoIcon.js +0 -15
  625. package/cjs/components/FxInput/UndoIcon.js.map +0 -1
  626. package/cjs/components/Input/InputLayout/InputLayout.d.ts +0 -10
  627. package/cjs/components/Input/InputLayout/InputLayout.js +0 -32
  628. package/cjs/components/Input/InputLayout/InputLayout.js.map +0 -1
  629. package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +0 -11
  630. package/cjs/components/Input/InputLayout/InputLayout.styles.js +0 -47
  631. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +0 -1
  632. package/cjs/components/Input/InputLayout/InputLayoutAside.d.ts +0 -8
  633. package/cjs/components/Input/InputLayout/InputLayoutAside.js +0 -29
  634. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +0 -1
  635. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.d.ts +0 -7
  636. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +0 -61
  637. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +0 -1
  638. package/cjs/components/Input/InputLayout/InputLayoutAsideText.d.ts +0 -6
  639. package/cjs/components/Input/InputLayout/InputLayoutAsideText.js +0 -27
  640. package/cjs/components/Input/InputLayout/InputLayoutAsideText.js.map +0 -1
  641. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +0 -9
  642. package/cjs/components/Input/InputLayout/InputLayoutContext.js +0 -17
  643. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +0 -1
  644. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
  645. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js +0 -46
  646. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js.map +0 -1
  647. package/cjs/components/Modal/ModalSeparator.d.ts +0 -5
  648. package/cjs/components/Modal/ModalSeparator.js +0 -21
  649. package/cjs/components/Modal/ModalSeparator.js.map +0 -1
  650. package/cjs/components/Modal/relinkModalBodyTheme.d.ts +0 -2
  651. package/cjs/components/Modal/relinkModalBodyTheme.js +0 -11
  652. package/cjs/components/Modal/relinkModalBodyTheme.js.map +0 -1
  653. package/cjs/components/Modal/relinkModalTheme.d.ts +0 -2
  654. package/cjs/components/Modal/relinkModalTheme.js +0 -11
  655. package/cjs/components/Modal/relinkModalTheme.js.map +0 -1
  656. package/cjs/components/PasswordInput/ClosedIcon.d.ts +0 -3
  657. package/cjs/components/PasswordInput/ClosedIcon.js +0 -15
  658. package/cjs/components/PasswordInput/ClosedIcon.js.map +0 -1
  659. package/cjs/components/PasswordInput/OpenedIcon.d.ts +0 -3
  660. package/cjs/components/PasswordInput/OpenedIcon.js +0 -15
  661. package/cjs/components/PasswordInput/OpenedIcon.js.map +0 -1
  662. package/cjs/components/Select/ArrowDownIcon.d.ts +0 -3
  663. package/cjs/components/Select/ArrowDownIcon.js +0 -15
  664. package/cjs/components/Select/ArrowDownIcon.js.map +0 -1
  665. package/cjs/components/Select/relinkSelectTheme.d.ts +0 -2
  666. package/cjs/components/Select/relinkSelectTheme.js +0 -11
  667. package/cjs/components/Select/relinkSelectTheme.js.map +0 -1
  668. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.d.ts +0 -11
  669. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +0 -71
  670. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +0 -1
  671. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.d.ts +0 -7
  672. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js +0 -40
  673. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +0 -1
  674. package/cjs/internal/CloseButtonIcon/CrossIcon.d.ts +0 -3
  675. package/cjs/internal/CloseButtonIcon/CrossIcon.js +0 -14
  676. package/cjs/internal/CloseButtonIcon/CrossIcon.js.map +0 -1
  677. package/cjs/internal/CustomComboBox/ArrowDownIcon.d.ts +0 -3
  678. package/cjs/internal/CustomComboBox/ArrowDownIcon.js +0 -15
  679. package/cjs/internal/CustomComboBox/ArrowDownIcon.js.map +0 -1
  680. package/cjs/internal/CustomComboBox/relinkComboBoxTheme.d.ts +0 -2
  681. package/cjs/internal/CustomComboBox/relinkComboBoxTheme.js +0 -11
  682. package/cjs/internal/CustomComboBox/relinkComboBoxTheme.js.map +0 -1
  683. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  684. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  685. package/cjs/internal/DataTids/DataTids.js +0 -50
  686. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  687. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  688. package/cjs/internal/DataTids/DataTids.styles.js +0 -41
  689. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  690. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  691. package/cjs/internal/DataTids/componentsDataTids.js +0 -16
  692. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  693. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +0 -3
  694. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.js +0 -15
  695. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.js.map +0 -1
  696. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +0 -3
  697. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.js +0 -15
  698. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.js.map +0 -1
  699. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +0 -12
  700. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +0 -58
  701. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +0 -1
  702. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +0 -3
  703. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.js +0 -15
  704. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.js.map +0 -1
  705. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +0 -2
  706. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js +0 -14
  707. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +0 -1
  708. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +0 -2
  709. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js +0 -14
  710. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +0 -1
  711. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +0 -2
  712. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js +0 -14
  713. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +0 -1
  714. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +0 -2
  715. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js +0 -14
  716. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +0 -1
  717. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +0 -2
  718. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js +0 -14
  719. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +0 -1
  720. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +0 -2
  721. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js +0 -14
  722. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +0 -1
  723. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +0 -2
  724. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js +0 -12
  725. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +0 -1
  726. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +0 -2
  727. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js +0 -14
  728. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +0 -1
  729. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +0 -2
  730. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js +0 -14
  731. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +0 -1
  732. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +0 -2
  733. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js +0 -14
  734. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +0 -1
  735. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +0 -2
  736. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.js +0 -14
  737. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.js.map +0 -1
  738. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +0 -2
  739. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js +0 -15
  740. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +0 -1
  741. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +0 -2
  742. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js +0 -18
  743. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +0 -1
  744. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +0 -2
  745. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js +0 -18
  746. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +0 -1
  747. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +0 -2
  748. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js +0 -18
  749. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +0 -1
  750. package/cjs/internal/icons2022/BaseIcon.d.ts +0 -12
  751. package/cjs/internal/icons2022/BaseIcon.js +0 -48
  752. package/cjs/internal/icons2022/BaseIcon.js.map +0 -1
  753. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +0 -2
  754. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.js +0 -24
  755. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +0 -1
  756. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +0 -2
  757. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.js +0 -24
  758. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +0 -1
  759. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +0 -2
  760. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js +0 -26
  761. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +0 -1
  762. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +0 -2
  763. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.js +0 -12
  764. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.js.map +0 -1
  765. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +0 -2
  766. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.js +0 -12
  767. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.js.map +0 -1
  768. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +0 -2
  769. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js +0 -12
  770. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +0 -1
  771. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +0 -2
  772. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.js +0 -12
  773. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.js.map +0 -1
  774. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +0 -2
  775. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js +0 -12
  776. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +0 -1
  777. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +0 -2
  778. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.js +0 -12
  779. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.js.map +0 -1
  780. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +0 -2
  781. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js +0 -14
  782. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +0 -1
  783. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +0 -2
  784. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js +0 -14
  785. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +0 -1
  786. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +0 -2
  787. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js +0 -14
  788. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +0 -1
  789. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +0 -2
  790. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js +0 -21
  791. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +0 -1
  792. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +0 -2
  793. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js +0 -21
  794. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +0 -1
  795. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +0 -2
  796. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js +0 -23
  797. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +0 -1
  798. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +0 -2
  799. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js +0 -15
  800. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +0 -1
  801. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +0 -2
  802. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js +0 -15
  803. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +0 -1
  804. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +0 -2
  805. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js +0 -15
  806. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +0 -1
  807. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +0 -2
  808. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.js +0 -19
  809. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.js.map +0 -1
  810. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +0 -2
  811. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.js +0 -19
  812. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.js.map +0 -1
  813. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +0 -2
  814. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.js +0 -19
  815. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.js.map +0 -1
  816. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +0 -2
  817. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.js +0 -19
  818. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.js.map +0 -1
  819. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +0 -2
  820. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js +0 -15
  821. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +0 -1
  822. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +0 -2
  823. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.js +0 -15
  824. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.js.map +0 -1
  825. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +0 -2
  826. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js +0 -15
  827. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +0 -1
  828. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +0 -2
  829. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js +0 -18
  830. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +0 -1
  831. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +0 -2
  832. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.js +0 -18
  833. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.js.map +0 -1
  834. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +0 -2
  835. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js +0 -14
  836. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +0 -1
  837. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +0 -2
  838. package/cjs/internal/icons2022/XIcon/XIcon16Light.js +0 -12
  839. package/cjs/internal/icons2022/XIcon/XIcon16Light.js.map +0 -1
  840. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +0 -2
  841. package/cjs/internal/icons2022/XIcon/XIcon16Regular.js +0 -12
  842. package/cjs/internal/icons2022/XIcon/XIcon16Regular.js.map +0 -1
  843. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +0 -2
  844. package/cjs/internal/icons2022/XIcon/XIcon20Light.js +0 -12
  845. package/cjs/internal/icons2022/XIcon/XIcon20Light.js.map +0 -1
  846. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +0 -2
  847. package/cjs/internal/icons2022/XIcon/XIcon24Regular.js +0 -12
  848. package/cjs/internal/icons2022/XIcon/XIcon24Regular.js.map +0 -1
  849. package/cjs/internal/icons2022/iconConstants.d.ts +0 -8
  850. package/cjs/internal/icons2022/iconConstants.js +0 -11
  851. package/cjs/internal/icons2022/iconConstants.js.map +0 -1
  852. package/cjs/internal/icons2022/iconSizer.d.ts +0 -9
  853. package/cjs/internal/icons2022/iconSizer.js +0 -33
  854. package/cjs/internal/icons2022/iconSizer.js.map +0 -1
  855. package/components/Autocomplete/relinkAutocompleteTheme/package.json +0 -6
  856. package/components/Autocomplete/relinkAutocompleteTheme/relinkAutocompleteTheme.js +0 -6
  857. package/components/Autocomplete/relinkAutocompleteTheme/relinkAutocompleteTheme.js.map +0 -1
  858. package/components/Autocomplete/relinkAutocompleteTheme.d.ts +0 -2
  859. package/components/Button/ArrowLeftIcon/ArrowLeftIcon.js +0 -17
  860. package/components/Button/ArrowLeftIcon/ArrowLeftIcon.js.map +0 -1
  861. package/components/Button/ArrowLeftIcon/package.json +0 -6
  862. package/components/Button/ArrowLeftIcon.d.ts +0 -3
  863. package/components/Button/ArrowRightIcon/ArrowRightIcon.js +0 -17
  864. package/components/Button/ArrowRightIcon/ArrowRightIcon.js.map +0 -1
  865. package/components/Button/ArrowRightIcon/package.json +0 -6
  866. package/components/Button/ArrowRightIcon.d.ts +0 -3
  867. package/components/Button/ButtonArrow/ButtonArrow.js +0 -72
  868. package/components/Button/ButtonArrow/ButtonArrow.js.map +0 -1
  869. package/components/Button/ButtonArrow/package.json +0 -6
  870. package/components/Button/ButtonArrow.d.ts +0 -8
  871. package/components/Button/ButtonIcon/ButtonIcon.js +0 -53
  872. package/components/Button/ButtonIcon/ButtonIcon.js.map +0 -1
  873. package/components/Button/ButtonIcon/package.json +0 -6
  874. package/components/Button/ButtonIcon.d.ts +0 -7
  875. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +0 -11
  876. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +0 -1
  877. package/components/Button/getInnerLinkTheme/package.json +0 -6
  878. package/components/Button/getInnerLinkTheme.d.ts +0 -2
  879. package/components/Checkbox/CheckedIcon/CheckedIcon.js +0 -18
  880. package/components/Checkbox/CheckedIcon/CheckedIcon.js.map +0 -1
  881. package/components/Checkbox/CheckedIcon/package.json +0 -6
  882. package/components/Checkbox/CheckedIcon.d.ts +0 -3
  883. package/components/Checkbox/IndeterminateIcon/IndeterminateIcon.js +0 -21
  884. package/components/Checkbox/IndeterminateIcon/IndeterminateIcon.js.map +0 -1
  885. package/components/Checkbox/IndeterminateIcon/package.json +0 -6
  886. package/components/Checkbox/IndeterminateIcon.d.ts +0 -3
  887. package/components/DateInput/CalendarIcon/CalendarIcon.js +0 -23
  888. package/components/DateInput/CalendarIcon/CalendarIcon.js.map +0 -1
  889. package/components/DateInput/CalendarIcon/package.json +0 -6
  890. package/components/DateInput/CalendarIcon.d.ts +0 -3
  891. package/components/Dropdown/relinkDropdownTheme/package.json +0 -6
  892. package/components/Dropdown/relinkDropdownTheme/relinkDropdownTheme.js +0 -7
  893. package/components/Dropdown/relinkDropdownTheme/relinkDropdownTheme.js.map +0 -1
  894. package/components/Dropdown/relinkDropdownTheme.d.ts +0 -2
  895. package/components/DropdownMenu/relinkDropdownMenuTheme/package.json +0 -6
  896. package/components/DropdownMenu/relinkDropdownMenuTheme/relinkDropdownMenuTheme.js +0 -6
  897. package/components/DropdownMenu/relinkDropdownMenuTheme/relinkDropdownMenuTheme.js.map +0 -1
  898. package/components/DropdownMenu/relinkDropdownMenuTheme.d.ts +0 -2
  899. package/components/FileUploader/UploadIcon/UploadIcon.js +0 -23
  900. package/components/FileUploader/UploadIcon/UploadIcon.js.map +0 -1
  901. package/components/FileUploader/UploadIcon/package.json +0 -6
  902. package/components/FileUploader/UploadIcon.d.ts +0 -3
  903. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +0 -62
  904. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +0 -1
  905. package/components/FxInput/FxInputRestoreBtn/package.json +0 -6
  906. package/components/FxInput/FxInputRestoreBtn.d.ts +0 -5
  907. package/components/FxInput/MathFunctionIcon/MathFunctionIcon.js +0 -17
  908. package/components/FxInput/MathFunctionIcon/MathFunctionIcon.js.map +0 -1
  909. package/components/FxInput/MathFunctionIcon/package.json +0 -6
  910. package/components/FxInput/MathFunctionIcon.d.ts +0 -3
  911. package/components/FxInput/UndoIcon/UndoIcon.js +0 -17
  912. package/components/FxInput/UndoIcon/UndoIcon.js.map +0 -1
  913. package/components/FxInput/UndoIcon/package.json +0 -6
  914. package/components/FxInput/UndoIcon.d.ts +0 -3
  915. package/components/Input/InputLayout/InputLayout/InputLayout.js +0 -34
  916. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +0 -1
  917. package/components/Input/InputLayout/InputLayout/package.json +0 -6
  918. package/components/Input/InputLayout/InputLayout.d.ts +0 -10
  919. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +0 -32
  920. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +0 -1
  921. package/components/Input/InputLayout/InputLayout.styles/package.json +0 -6
  922. package/components/Input/InputLayout/InputLayout.styles.d.ts +0 -11
  923. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +0 -27
  924. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +0 -1
  925. package/components/Input/InputLayout/InputLayoutAside/package.json +0 -6
  926. package/components/Input/InputLayout/InputLayoutAside.d.ts +0 -8
  927. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +0 -51
  928. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +0 -1
  929. package/components/Input/InputLayout/InputLayoutAsideIcon/package.json +0 -6
  930. package/components/Input/InputLayout/InputLayoutAsideIcon.d.ts +0 -7
  931. package/components/Input/InputLayout/InputLayoutAsideText/InputLayoutAsideText.js +0 -18
  932. package/components/Input/InputLayout/InputLayoutAsideText/InputLayoutAsideText.js.map +0 -1
  933. package/components/Input/InputLayout/InputLayoutAsideText/package.json +0 -6
  934. package/components/Input/InputLayout/InputLayoutAsideText.d.ts +0 -6
  935. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js +0 -7
  936. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +0 -1
  937. package/components/Input/InputLayout/InputLayoutContext/package.json +0 -6
  938. package/components/Input/InputLayout/InputLayoutContext.d.ts +0 -9
  939. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js +0 -33
  940. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js.map +0 -1
  941. package/components/Input/InputLayout/PolyfillPlaceholder/package.json +0 -6
  942. package/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
  943. package/components/Modal/ModalSeparator/ModalSeparator.js +0 -13
  944. package/components/Modal/ModalSeparator/ModalSeparator.js.map +0 -1
  945. package/components/Modal/ModalSeparator/package.json +0 -6
  946. package/components/Modal/ModalSeparator.d.ts +0 -5
  947. package/components/Modal/relinkModalBodyTheme/package.json +0 -6
  948. package/components/Modal/relinkModalBodyTheme/relinkModalBodyTheme.js +0 -6
  949. package/components/Modal/relinkModalBodyTheme/relinkModalBodyTheme.js.map +0 -1
  950. package/components/Modal/relinkModalBodyTheme.d.ts +0 -2
  951. package/components/Modal/relinkModalTheme/package.json +0 -6
  952. package/components/Modal/relinkModalTheme/relinkModalTheme.js +0 -6
  953. package/components/Modal/relinkModalTheme/relinkModalTheme.js.map +0 -1
  954. package/components/Modal/relinkModalTheme.d.ts +0 -2
  955. package/components/PasswordInput/ClosedIcon/ClosedIcon.js +0 -17
  956. package/components/PasswordInput/ClosedIcon/ClosedIcon.js.map +0 -1
  957. package/components/PasswordInput/ClosedIcon/package.json +0 -6
  958. package/components/PasswordInput/ClosedIcon.d.ts +0 -3
  959. package/components/PasswordInput/OpenedIcon/OpenedIcon.js +0 -17
  960. package/components/PasswordInput/OpenedIcon/OpenedIcon.js.map +0 -1
  961. package/components/PasswordInput/OpenedIcon/package.json +0 -6
  962. package/components/PasswordInput/OpenedIcon.d.ts +0 -3
  963. package/components/Select/ArrowDownIcon/ArrowDownIcon.js +0 -23
  964. package/components/Select/ArrowDownIcon/ArrowDownIcon.js.map +0 -1
  965. package/components/Select/ArrowDownIcon/package.json +0 -6
  966. package/components/Select/ArrowDownIcon.d.ts +0 -3
  967. package/components/Select/relinkSelectTheme/package.json +0 -6
  968. package/components/Select/relinkSelectTheme/relinkSelectTheme.js +0 -6
  969. package/components/Select/relinkSelectTheme/relinkSelectTheme.js.map +0 -1
  970. package/components/Select/relinkSelectTheme.d.ts +0 -2
  971. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +0 -68
  972. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +0 -1
  973. package/internal/CloseButtonIcon/CloseButtonIcon/package.json +0 -6
  974. package/internal/CloseButtonIcon/CloseButtonIcon.d.ts +0 -11
  975. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js +0 -20
  976. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js.map +0 -1
  977. package/internal/CloseButtonIcon/CloseButtonIcon.styles/package.json +0 -6
  978. package/internal/CloseButtonIcon/CloseButtonIcon.styles.d.ts +0 -7
  979. package/internal/CloseButtonIcon/CrossIcon/CrossIcon.js +0 -18
  980. package/internal/CloseButtonIcon/CrossIcon/CrossIcon.js.map +0 -1
  981. package/internal/CloseButtonIcon/CrossIcon/package.json +0 -6
  982. package/internal/CloseButtonIcon/CrossIcon.d.ts +0 -3
  983. package/internal/CustomComboBox/ArrowDownIcon/ArrowDownIcon.js +0 -17
  984. package/internal/CustomComboBox/ArrowDownIcon/ArrowDownIcon.js.map +0 -1
  985. package/internal/CustomComboBox/ArrowDownIcon/package.json +0 -6
  986. package/internal/CustomComboBox/ArrowDownIcon.d.ts +0 -3
  987. package/internal/CustomComboBox/relinkComboBoxTheme/package.json +0 -6
  988. package/internal/CustomComboBox/relinkComboBoxTheme/relinkComboBoxTheme.js +0 -6
  989. package/internal/CustomComboBox/relinkComboBoxTheme/relinkComboBoxTheme.js.map +0 -1
  990. package/internal/CustomComboBox/relinkComboBoxTheme.d.ts +0 -2
  991. package/internal/DataTids/DATATIDS.md +0 -12
  992. package/internal/DataTids/DataTids/DataTids.js +0 -69
  993. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  994. package/internal/DataTids/DataTids/package.json +0 -6
  995. package/internal/DataTids/DataTids.d.ts +0 -12
  996. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -22
  997. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  998. package/internal/DataTids/DataTids.styles/package.json +0 -6
  999. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  1000. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -14
  1001. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  1002. package/internal/DataTids/componentsDataTids/package.json +0 -6
  1003. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  1004. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon/DeleteIcon.js +0 -23
  1005. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon/DeleteIcon.js.map +0 -1
  1006. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon/package.json +0 -6
  1007. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +0 -3
  1008. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon/ErrorIcon.js +0 -23
  1009. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon/ErrorIcon.js.map +0 -1
  1010. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon/package.json +0 -6
  1011. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +0 -3
  1012. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js +0 -62
  1013. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +0 -1
  1014. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/package.json +0 -6
  1015. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +0 -12
  1016. package/internal/FileUploaderControl/FileUploaderFile/OkIcon/OkIcon.js +0 -23
  1017. package/internal/FileUploaderControl/FileUploaderFile/OkIcon/OkIcon.js.map +0 -1
  1018. package/internal/FileUploaderControl/FileUploaderFile/OkIcon/package.json +0 -6
  1019. package/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +0 -3
  1020. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light/ArrowALeftIcon16Light.js +0 -11
  1021. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light/ArrowALeftIcon16Light.js.map +0 -1
  1022. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light/package.json +0 -6
  1023. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +0 -2
  1024. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light/ArrowALeftIcon20Light.js +0 -12
  1025. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light/ArrowALeftIcon20Light.js.map +0 -1
  1026. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light/package.json +0 -6
  1027. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +0 -2
  1028. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular/ArrowALeftIcon24Regular.js +0 -12
  1029. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular/ArrowALeftIcon24Regular.js.map +0 -1
  1030. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular/package.json +0 -6
  1031. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +0 -2
  1032. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light/ArrowARightIcon16Light.js +0 -11
  1033. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light/ArrowARightIcon16Light.js.map +0 -1
  1034. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light/package.json +0 -6
  1035. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +0 -2
  1036. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light/ArrowARightIcon20Light.js +0 -12
  1037. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light/ArrowARightIcon20Light.js.map +0 -1
  1038. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light/package.json +0 -6
  1039. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +0 -2
  1040. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular/ArrowARightIcon24Regular.js +0 -12
  1041. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular/ArrowARightIcon24Regular.js.map +0 -1
  1042. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular/package.json +0 -6
  1043. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +0 -2
  1044. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light/ArrowAUp16Light.js +0 -11
  1045. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light/ArrowAUp16Light.js.map +0 -1
  1046. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light/package.json +0 -6
  1047. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +0 -2
  1048. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular/ArrowCDownIcon16Regular.js +0 -11
  1049. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular/ArrowCDownIcon16Regular.js.map +0 -1
  1050. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular/package.json +0 -6
  1051. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +0 -2
  1052. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular/ArrowCDownIcon20Regular.js +0 -12
  1053. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular/ArrowCDownIcon20Regular.js.map +0 -1
  1054. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular/package.json +0 -6
  1055. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +0 -2
  1056. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular/ArrowCDownIcon24Regular.js +0 -12
  1057. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular/ArrowCDownIcon24Regular.js.map +0 -1
  1058. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular/package.json +0 -6
  1059. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +0 -2
  1060. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular/ArrowCUpIcon16Regular.js +0 -11
  1061. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular/ArrowCUpIcon16Regular.js.map +0 -1
  1062. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular/package.json +0 -6
  1063. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +0 -2
  1064. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular/ArrowCollapseCVOpenIcon16Regular.js +0 -13
  1065. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular/ArrowCollapseCVOpenIcon16Regular.js.map +0 -1
  1066. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular/package.json +0 -6
  1067. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +0 -2
  1068. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light/ArrowShapeDRadiusUpLeftIcon16Light.js +0 -13
  1069. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light/ArrowShapeDRadiusUpLeftIcon16Light.js.map +0 -1
  1070. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light/package.json +0 -6
  1071. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +0 -2
  1072. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light/ArrowShapeDRadiusUpLeftIcon20Light.js +0 -14
  1073. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light/ArrowShapeDRadiusUpLeftIcon20Light.js.map +0 -1
  1074. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light/package.json +0 -6
  1075. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +0 -2
  1076. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular/ArrowShapeDRadiusUpLeftIcon24Regular.js +0 -14
  1077. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +0 -1
  1078. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular/package.json +0 -6
  1079. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +0 -2
  1080. package/internal/icons2022/BaseIcon/BaseIcon.js +0 -31
  1081. package/internal/icons2022/BaseIcon/BaseIcon.js.map +0 -1
  1082. package/internal/icons2022/BaseIcon/package.json +0 -6
  1083. package/internal/icons2022/BaseIcon.d.ts +0 -12
  1084. package/internal/icons2022/CalendarIcon/CalendarIcon16Light/CalendarIcon16Light.js +0 -29
  1085. package/internal/icons2022/CalendarIcon/CalendarIcon16Light/CalendarIcon16Light.js.map +0 -1
  1086. package/internal/icons2022/CalendarIcon/CalendarIcon16Light/package.json +0 -6
  1087. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +0 -2
  1088. package/internal/icons2022/CalendarIcon/CalendarIcon20Light/CalendarIcon20Light.js +0 -30
  1089. package/internal/icons2022/CalendarIcon/CalendarIcon20Light/CalendarIcon20Light.js.map +0 -1
  1090. package/internal/icons2022/CalendarIcon/CalendarIcon20Light/package.json +0 -6
  1091. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +0 -2
  1092. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular/CalendarIcon24Regular.js +0 -30
  1093. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular/CalendarIcon24Regular.js.map +0 -1
  1094. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular/package.json +0 -6
  1095. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +0 -2
  1096. package/internal/icons2022/CheckAIcon/CheckAIcon16Light/CheckAIcon16Light.js +0 -11
  1097. package/internal/icons2022/CheckAIcon/CheckAIcon16Light/CheckAIcon16Light.js.map +0 -1
  1098. package/internal/icons2022/CheckAIcon/CheckAIcon16Light/package.json +0 -6
  1099. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +0 -2
  1100. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular/CheckAIcon16Regular.js +0 -11
  1101. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular/CheckAIcon16Regular.js.map +0 -1
  1102. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular/package.json +0 -6
  1103. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +0 -2
  1104. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid/CheckAIcon16Solid.js +0 -11
  1105. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid/CheckAIcon16Solid.js.map +0 -1
  1106. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid/package.json +0 -6
  1107. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +0 -2
  1108. package/internal/icons2022/CheckAIcon/CheckAIcon20Light/CheckAIcon20Light.js +0 -12
  1109. package/internal/icons2022/CheckAIcon/CheckAIcon20Light/CheckAIcon20Light.js.map +0 -1
  1110. package/internal/icons2022/CheckAIcon/CheckAIcon20Light/package.json +0 -6
  1111. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +0 -2
  1112. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid/CheckAIcon20Solid.js +0 -12
  1113. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid/CheckAIcon20Solid.js.map +0 -1
  1114. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid/package.json +0 -6
  1115. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +0 -2
  1116. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular/CheckAIcon24Regular.js +0 -12
  1117. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular/CheckAIcon24Regular.js.map +0 -1
  1118. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular/package.json +0 -6
  1119. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +0 -2
  1120. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light/EyeClosedIcon16Light.js +0 -11
  1121. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light/EyeClosedIcon16Light.js.map +0 -1
  1122. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light/package.json +0 -6
  1123. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +0 -2
  1124. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light/EyeClosedIcon20Light.js +0 -12
  1125. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light/EyeClosedIcon20Light.js.map +0 -1
  1126. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light/package.json +0 -6
  1127. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +0 -2
  1128. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular/EyeClosedIcon24Regular.js +0 -12
  1129. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular/EyeClosedIcon24Regular.js.map +0 -1
  1130. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular/package.json +0 -6
  1131. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +0 -2
  1132. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light/EyeOpenIcon16Light.js +0 -17
  1133. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light/EyeOpenIcon16Light.js.map +0 -1
  1134. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light/package.json +0 -6
  1135. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +0 -2
  1136. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light/EyeOpenIcon20Light.js +0 -18
  1137. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light/EyeOpenIcon20Light.js.map +0 -1
  1138. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light/package.json +0 -6
  1139. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +0 -2
  1140. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular/EyeOpenIcon24Regular.js +0 -18
  1141. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular/EyeOpenIcon24Regular.js.map +0 -1
  1142. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular/package.json +0 -6
  1143. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +0 -2
  1144. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light/MathFunctionIcon16Light.js +0 -13
  1145. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light/MathFunctionIcon16Light.js.map +0 -1
  1146. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light/package.json +0 -6
  1147. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +0 -2
  1148. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light/MathFunctionIcon20Light.js +0 -14
  1149. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light/MathFunctionIcon20Light.js.map +0 -1
  1150. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light/package.json +0 -6
  1151. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +0 -2
  1152. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular/MathFunctionIcon24Regular.js +0 -14
  1153. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular/MathFunctionIcon24Regular.js.map +0 -1
  1154. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular/package.json +0 -6
  1155. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +0 -2
  1156. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light/MinusCircleIcon16Light.js +0 -15
  1157. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light/MinusCircleIcon16Light.js.map +0 -1
  1158. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light/package.json +0 -6
  1159. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +0 -2
  1160. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular/MinusCircleIcon16Regular.js +0 -15
  1161. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular/MinusCircleIcon16Regular.js.map +0 -1
  1162. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular/package.json +0 -6
  1163. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +0 -2
  1164. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light/MinusCircleIcon20Light.js +0 -16
  1165. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light/MinusCircleIcon20Light.js.map +0 -1
  1166. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light/package.json +0 -6
  1167. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +0 -2
  1168. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular/MinusCircleIcon24Regular.js +0 -16
  1169. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular/MinusCircleIcon24Regular.js.map +0 -1
  1170. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular/package.json +0 -6
  1171. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +0 -2
  1172. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light/NetUploadIcon16Light.js +0 -13
  1173. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light/NetUploadIcon16Light.js.map +0 -1
  1174. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light/package.json +0 -6
  1175. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +0 -2
  1176. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light/NetUploadIcon20Light.js +0 -14
  1177. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light/NetUploadIcon20Light.js.map +0 -1
  1178. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light/package.json +0 -6
  1179. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +0 -2
  1180. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular/NetUploadIcon24Regular.js +0 -14
  1181. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular/NetUploadIcon24Regular.js.map +0 -1
  1182. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular/package.json +0 -6
  1183. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +0 -2
  1184. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid/QuestionCircleIcon16Solid.js +0 -13
  1185. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid/QuestionCircleIcon16Solid.js.map +0 -1
  1186. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid/package.json +0 -6
  1187. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +0 -2
  1188. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular/SearchLoupeIcon16Regular.js +0 -13
  1189. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular/SearchLoupeIcon16Regular.js.map +0 -1
  1190. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular/package.json +0 -6
  1191. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +0 -2
  1192. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid/ShapeSquareIcon16Solid.js +0 -11
  1193. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid/ShapeSquareIcon16Solid.js.map +0 -1
  1194. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid/package.json +0 -6
  1195. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +0 -2
  1196. package/internal/icons2022/XIcon/XIcon16Light/XIcon16Light.js +0 -11
  1197. package/internal/icons2022/XIcon/XIcon16Light/XIcon16Light.js.map +0 -1
  1198. package/internal/icons2022/XIcon/XIcon16Light/package.json +0 -6
  1199. package/internal/icons2022/XIcon/XIcon16Light.d.ts +0 -2
  1200. package/internal/icons2022/XIcon/XIcon16Regular/XIcon16Regular.js +0 -11
  1201. package/internal/icons2022/XIcon/XIcon16Regular/XIcon16Regular.js.map +0 -1
  1202. package/internal/icons2022/XIcon/XIcon16Regular/package.json +0 -6
  1203. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +0 -2
  1204. package/internal/icons2022/XIcon/XIcon20Light/XIcon20Light.js +0 -12
  1205. package/internal/icons2022/XIcon/XIcon20Light/XIcon20Light.js.map +0 -1
  1206. package/internal/icons2022/XIcon/XIcon20Light/package.json +0 -6
  1207. package/internal/icons2022/XIcon/XIcon20Light.d.ts +0 -2
  1208. package/internal/icons2022/XIcon/XIcon24Regular/XIcon24Regular.js +0 -12
  1209. package/internal/icons2022/XIcon/XIcon24Regular/XIcon24Regular.js.map +0 -1
  1210. package/internal/icons2022/XIcon/XIcon24Regular/package.json +0 -6
  1211. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +0 -2
  1212. package/internal/icons2022/iconConstants/iconConstants.js +0 -7
  1213. package/internal/icons2022/iconConstants/iconConstants.js.map +0 -1
  1214. package/internal/icons2022/iconConstants/package.json +0 -6
  1215. package/internal/icons2022/iconConstants.d.ts +0 -8
  1216. package/internal/icons2022/iconSizer/iconSizer.js +0 -39
  1217. package/internal/icons2022/iconSizer/iconSizer.js.map +0 -1
  1218. package/internal/icons2022/iconSizer/package.json +0 -6
  1219. package/internal/icons2022/iconSizer.d.ts +0 -9
@@ -15,9 +15,6 @@ export interface MenuProps {
15
15
  export interface MenuState {
16
16
  highlightedIndex: number;
17
17
  }
18
- export declare const MenuDataTids: {
19
- readonly root: "Menu__root";
20
- };
21
18
  declare type DefaultProps = Required<Pick<MenuProps, 'align' | 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll'>>;
22
19
  export declare class Menu extends React.Component<MenuProps, MenuState> {
23
20
  static __KONTUR_REACT_UI__: string;
@@ -8,10 +8,6 @@ import { ZIndex } from "../../ZIndex";
8
8
  import { cx } from "../../../lib/theming/Emotion";
9
9
  import { jsStyles } from "../MobilePopup.styles";
10
10
  import { MobilePopupHeader } from "../MobilePopupHeader";
11
- export var MobilePopupDataTids = {
12
- root: 'MobilePopup__root',
13
- container: 'MobilePopup__container'
14
- };
15
11
  export var MobilePopup = /*#__PURE__*/function (_React$Component) {
16
12
  _inheritsLoose(MobilePopup, _React$Component);
17
13
 
@@ -82,10 +78,8 @@ export var MobilePopup = /*#__PURE__*/function (_React$Component) {
82
78
  var _cx, _cx2, _cx3;
83
79
 
84
80
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
85
- "data-tid": MobilePopupDataTids.container,
86
81
  className: cx((_cx = {}, _cx[jsStyles.container(_this3.theme)] = true, _cx[jsStyles.containerOpened()] = state === 'entered', _cx))
87
82
  }, /*#__PURE__*/React.createElement("div", {
88
- "data-tid": MobilePopupDataTids.root,
89
83
  className: cx((_cx2 = {}, _cx2[jsStyles.root(_this3.theme)] = true, _cx2[jsStyles.rootFullHeight(_this3.theme)] = _this3.props.useFullHeight, _cx2)),
90
84
  onClick: _this3.props.useFullHeight ? undefined : _this3.close
91
85
  }, /*#__PURE__*/React.createElement(MobilePopupHeader, {
@@ -1 +1 @@
1
- {"version":3,"sources":["MobilePopup.tsx"],"names":["React","Transition","ThemeContext","RenderContainer","HideBodyVerticalScroll","ZIndex","cx","jsStyles","MobilePopupHeader","MobilePopupDataTids","root","container","MobilePopup","state","isScrolled","close","props","onCloseRequest","refContent","contentDiv","handleScrollMenu","scrollTop","setState","render","theme","renderMain","content","opened","onClose","appear","exit","containerOpened","rootFullHeight","useFullHeight","undefined","caption","headerChildComponent","e","stopPropagation","children","bg","bgShowed","withoutRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Nullable } from '../../typings/utility-types';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\n\ninterface MobilePopupProps {\n /**\n * Хэндлер, вызываемый при закрытии меню\n */\n onClose?: () => void;\n caption?: string;\n /**\n * Компонент, закрепленный сверху меню (под холдером)\n */\n headerChildComponent?: React.ReactNode;\n useFullHeight?: boolean;\n withoutRenderContainer?: boolean;\n /**\n * Хэндлер, вызываемый при клике по вуали или заголовку\n */\n onCloseRequest?: () => void;\n opened: boolean;\n}\n\ninterface MobilePopupState {\n isScrolled: boolean;\n}\n\nexport const MobilePopupDataTids = {\n root: 'MobilePopup__root',\n container: 'MobilePopup__container',\n} as const;\n\nexport class MobilePopup extends React.Component<MobilePopupProps, MobilePopupState> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n\n private contentDiv: Nullable<HTMLDivElement>;\n private theme!: Theme;\n\n public state: MobilePopupState = {\n isScrolled: false,\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const content = (\n <ZIndex priority={'MobilePopup'}>\n <Transition\n in={this.props.opened}\n onExited={this.props.onClose}\n mountOnEnter\n unmountOnExit\n appear\n timeout={{ appear: 0, exit: 250 }}\n >\n {(state) => (\n <>\n <div\n data-tid={MobilePopupDataTids.container}\n className={cx({\n [jsStyles.container(this.theme)]: true,\n [jsStyles.containerOpened()]: state === 'entered',\n })}\n >\n <div\n data-tid={MobilePopupDataTids.root}\n className={cx({\n [jsStyles.root(this.theme)]: true,\n [jsStyles.rootFullHeight(this.theme)]: this.props.useFullHeight,\n })}\n onClick={this.props.useFullHeight ? undefined : this.close}\n >\n <MobilePopupHeader\n caption={this.props.caption}\n onClose={this.close}\n withShadow={this.state.isScrolled}\n >\n {this.props.headerChildComponent}\n </MobilePopupHeader>\n <div\n onClick={(e) => e.stopPropagation()}\n className={jsStyles.content(this.theme)}\n onScroll={this.handleScrollMenu}\n ref={this.refContent}\n >\n {this.props.children}\n </div>\n </div>\n </div>\n <div\n onClick={this.close}\n className={cx({\n [jsStyles.bg()]: true,\n [jsStyles.bgShowed()]: state === 'entered',\n })}\n />\n <HideBodyVerticalScroll />\n </>\n )}\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n\n private refContent = (contentDiv: HTMLDivElement) => {\n this.contentDiv = contentDiv;\n };\n\n private handleScrollMenu = () => {\n if (this.contentDiv) {\n const isScrolled = this.contentDiv.scrollTop > 0;\n\n if (isScrolled !== this.state.isScrolled) {\n this.setState({ isScrolled });\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["MobilePopup.tsx"],"names":["React","Transition","ThemeContext","RenderContainer","HideBodyVerticalScroll","ZIndex","cx","jsStyles","MobilePopupHeader","MobilePopup","state","isScrolled","close","props","onCloseRequest","refContent","contentDiv","handleScrollMenu","scrollTop","setState","render","theme","renderMain","content","opened","onClose","appear","exit","container","containerOpened","root","rootFullHeight","useFullHeight","undefined","caption","headerChildComponent","e","stopPropagation","children","bg","bgShowed","withoutRenderContainer","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Nullable } from '../../typings/utility-types';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\n\ninterface MobilePopupProps {\n /**\n * Хэндлер, вызываемый при закрытии меню\n */\n onClose?: () => void;\n caption?: string;\n /**\n * Компонент, закрепленный сверху меню (под холдером)\n */\n headerChildComponent?: React.ReactNode;\n useFullHeight?: boolean;\n withoutRenderContainer?: boolean;\n /**\n * Хэндлер, вызываемый при клике по вуали или заголовку\n */\n onCloseRequest?: () => void;\n opened: boolean;\n}\n\ninterface MobilePopupState {\n isScrolled: boolean;\n}\n\nexport class MobilePopup extends React.Component<MobilePopupProps, MobilePopupState> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n\n private contentDiv: Nullable<HTMLDivElement>;\n private theme!: Theme;\n\n public state: MobilePopupState = {\n isScrolled: false,\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const content = (\n <ZIndex priority={'MobilePopup'}>\n <Transition\n in={this.props.opened}\n onExited={this.props.onClose}\n mountOnEnter\n unmountOnExit\n appear\n timeout={{ appear: 0, exit: 250 }}\n >\n {(state) => (\n <>\n <div\n className={cx({\n [jsStyles.container(this.theme)]: true,\n [jsStyles.containerOpened()]: state === 'entered',\n })}\n >\n <div\n className={cx({\n [jsStyles.root(this.theme)]: true,\n [jsStyles.rootFullHeight(this.theme)]: this.props.useFullHeight,\n })}\n onClick={this.props.useFullHeight ? undefined : this.close}\n >\n <MobilePopupHeader\n caption={this.props.caption}\n onClose={this.close}\n withShadow={this.state.isScrolled}\n >\n {this.props.headerChildComponent}\n </MobilePopupHeader>\n <div\n onClick={(e) => e.stopPropagation()}\n className={jsStyles.content(this.theme)}\n onScroll={this.handleScrollMenu}\n ref={this.refContent}\n >\n {this.props.children}\n </div>\n </div>\n </div>\n <div\n onClick={this.close}\n className={cx({\n [jsStyles.bg()]: true,\n [jsStyles.bgShowed()]: state === 'entered',\n })}\n />\n <HideBodyVerticalScroll />\n </>\n )}\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n\n private refContent = (contentDiv: HTMLDivElement) => {\n this.contentDiv = contentDiv;\n };\n\n private handleScrollMenu = () => {\n if (this.contentDiv) {\n const isScrolled = this.contentDiv.scrollTop > 0;\n\n if (isScrolled !== this.state.isScrolled) {\n this.setState({ isScrolled });\n }\n }\n };\n}\n"]}
@@ -20,10 +20,6 @@ interface MobilePopupProps {
20
20
  interface MobilePopupState {
21
21
  isScrolled: boolean;
22
22
  }
23
- export declare const MobilePopupDataTids: {
24
- readonly root: "MobilePopup__root";
25
- readonly container: "MobilePopup__container";
26
- };
27
23
  export declare class MobilePopup extends React.Component<MobilePopupProps, MobilePopupState> {
28
24
  static __KONTUR_REACT_UI__: string;
29
25
  private contentDiv;
@@ -82,11 +82,6 @@ export var DUMMY_LOCATION = {
82
82
  left: -9999
83
83
  }
84
84
  };
85
- export var PopupDataTids = {
86
- content: 'PopupContent',
87
- contentInner: 'PopupContentInner',
88
- popupPin: 'PopupPin__root'
89
- };
90
85
  export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
91
86
  _inheritsLoose(Popup, _React$Component);
92
87
 
@@ -165,7 +160,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
165
160
 
166
161
  return /*#__PURE__*/React.createElement("div", {
167
162
  className: styles.content(_this.theme),
168
- "data-tid": PopupDataTids.content,
163
+ "data-tid": 'PopupContent',
169
164
  ref: _this.refForTransition
170
165
  }, /*#__PURE__*/React.createElement("div", {
171
166
  className: styles.contentInner(_this.theme),
@@ -173,7 +168,7 @@ export var Popup = responsiveLayout(_class = rootNode(_class = (_temp = _class2
173
168
  backgroundColor: backgroundColor,
174
169
  width: _this.calculateWidth(width)
175
170
  },
176
- "data-tid": PopupDataTids.contentInner
171
+ "data-tid": 'PopupContentInner'
177
172
  }, children));
178
173
  };
179
174
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Popup.tsx"],"names":["React","PropTypes","Transition","raf","warning","getDOMRect","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","getRootNode","rootNode","callChildRef","isInstanceWithAnchorElement","createPropsGetter","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","PopupDataTids","content","contentInner","popupPin","Popup","getProps","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","createRef","anchorElement","updateAnchorElement","instance","childDomNode","getAnchorElement","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","Math","floor","parseFloat","children","backgroundColor","theme","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","onPositionChange","locationEquals","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","renderMain","renderMobile","renderChildren","mobileOnCloseRequest","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","originalRef","canGetAnchorNode","withoutMobile","renderContent","addEventListener","removeEventListener","maxWidth","hasShadow","disableAnimations","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","setRootNode","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultRootNode"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends Omit<CommonProps, 'children'>, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin?: boolean;\n hasShadow?: boolean;\n disableAnimations?: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset?: number;\n positions: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\nexport const PopupDataTids = {\n content: 'PopupContent',\n contentInner: 'PopupContentInner',\n popupPin: 'PopupPin__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public anchorElement: Nullable<Element> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n ) : null;\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isElement(anchorElement);\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={canGetAnchorNode ? null : this.updateAnchorElement}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = Math.floor(getDOMRect(this.anchorElement).width);\n return this.anchorElement ? (anchorWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const width = this.getProps().width;\n\n return (\n <div className={styles.content(this.theme)} data-tid={PopupDataTids.content} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={PopupDataTids.contentInner}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n data-tid={'Popup__root'}\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (element: Nullable<Element>) => {\n this.lastPopupElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location?.position);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(anchorElement && isElement(anchorElement), 'Anchor element is not defined or not instance of Element');\n\n if (!(anchorElement && isElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["Popup.tsx"],"names":["React","PropTypes","Transition","raf","warning","getDOMRect","LayoutEvents","ZIndex","RenderContainer","isFunction","isNonNullable","isNullable","isRefableElement","isIE11","isEdge","isSafari","ThemeContext","isElement","safePropTypesInstanceOf","isTestEnv","CommonWrapper","cx","responsiveLayout","MobilePopup","getRootNode","rootNode","callChildRef","isInstanceWithAnchorElement","createPropsGetter","PopupPin","PopupHelper","styles","POPUP_BORDER_DEFAULT_COLOR","TRANSITION_TIMEOUT","enter","exit","PopupPositions","DefaultPosition","DUMMY_LOCATION","position","coordinates","top","left","Popup","getProps","defaultProps","state","location","props","opened","locationUpdateId","refForTransition","createRef","anchorElement","updateAnchorElement","instance","childDomNode","getAnchorElement","removeEventListeners","addEventListeners","handleMouseEnter","event","onMouseEnter","handleMouseLeave","onMouseLeave","handleClick","onClick","handleFocus","onFocus","handleBlur","onBlur","calculateWidth","width","includes","anchorWidth","Math","floor","parseFloat","content","children","backgroundColor","theme","contentInner","resetLocation","cancelDelayedUpdateLocation","setState","refPopupElement","element","lastPopupElement","handleLayoutEvent","updateLocation","popupElement","getLocation","onPositionChange","locationEquals","componentDidMount","layoutEventsToken","addListener","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","hadNoLocation","hasLocation","wasClosed","isMobileLayout","onOpen","onClose","delayUpdateLocation","componentWillUnmount","remove","render","renderMain","renderMobile","renderChildren","mobileOnCloseRequest","useWrapper","anchor","isValidElement","anchorWithRef","cloneElement","ref","originalRef","canGetAnchorNode","withoutMobile","renderContent","addEventListener","removeEventListener","maxWidth","hasShadow","disableAnimations","ignoreHover","getPositionObject","direction","rootStyle","shouldFallbackShadow","Boolean","setRootNode","popup","shadow","shadowFallback","popupIgnoreHover","transitionEnter","transitionEnterActive","transitionExit","renderPin","positionName","isDefaultBorderColor","popupBorderColor","pinBorder","pinSize","borderColor","hasPin","parseInt","popupPinSize","getPinOffset","align","popupBackground","cancel","x","y","abs","positions","tryPreserveFirstRenderedPosition","anchorRect","getElementAbsoluteRect","popupRect","getCoordinates","isFullyVisible","canBecomeVisible","canBecomeFullyVisible","getPinnedPopupOffset","test","anchorSize","height","max","marginFromProps","margin","isNaN","popupMargin","popupOffset","getHorizontalPosition","getVerticalPosition","Error","pinOffset","popupPinOffset","popupPinOffsetY","popupPinOffsetX","Component","__KONTUR_REACT_UI__","propTypes","oneOfType","HTMLElement","node","isRequired","string","func","bool","number","array","defaultRootNode"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { Nullable } from '../../typings/utility-types';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { ZIndex } from '../ZIndex';\nimport { RenderContainer } from '../RenderContainer';\nimport { FocusEventType, MouseEventType } from '../../typings/event-types';\nimport { isFunction, isNonNullable, isNullable, isRefableElement } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isElement, safePropTypesInstanceOf } from '../../lib/SSRSafe';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { MobilePopup } from '../MobilePopup';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { isInstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { PopupPin } from './PopupPin';\nimport { Offset, PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './Popup.styles';\n\nconst POPUP_BORDER_DEFAULT_COLOR = 'transparent';\nconst TRANSITION_TIMEOUT = { enter: 0, exit: 200 };\n\nexport const PopupPositions = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom right',\n 'bottom center',\n 'bottom left',\n 'left bottom',\n 'left middle',\n 'left top',\n] as const;\nexport const DefaultPosition = PopupPositions[0];\n\nexport type PopupPositionsType = typeof PopupPositions[number];\n\nexport const DUMMY_LOCATION: PopupLocation = {\n position: DefaultPosition,\n coordinates: {\n top: -9999,\n left: -9999,\n },\n};\n\nexport interface PopupHandlerProps {\n onMouseEnter?: (event: MouseEventType) => void;\n onMouseLeave?: (event: MouseEventType) => void;\n onClick?: (event: MouseEventType) => void;\n onFocus?: (event: FocusEventType) => void;\n onBlur?: (event: FocusEventType) => void;\n onOpen?: () => void;\n onClose?: () => void;\n}\n\nexport interface PopupProps extends Omit<CommonProps, 'children'>, PopupHandlerProps {\n anchorElement: React.ReactNode | HTMLElement;\n backgroundColor?: React.CSSProperties['backgroundColor'];\n borderColor?: React.CSSProperties['borderColor'];\n children: React.ReactNode | (() => React.ReactNode);\n hasPin?: boolean;\n hasShadow?: boolean;\n disableAnimations?: boolean;\n margin?: number;\n maxWidth?: number | string;\n opened: boolean;\n pinOffset?: number;\n pinSize?: number;\n popupOffset?: number;\n positions: Readonly<PopupPositionsType[]>;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n ignoreHover?: boolean;\n width?: React.CSSProperties['width'];\n /**\n * При очередном рендере пытаться сохранить первоначальную позицию попапа\n * (в числе числе, когда он выходит за пределы экрана, но может быть проскролен в него).\n *\n * Нужен только для Tooltip. В остальных случаях позиция перестраивается автоматически.\n * @see https://github.com/skbkontur/retail-ui/pull/1195\n */\n tryPreserveFirstRenderedPosition?: boolean;\n withoutMobile?: boolean;\n mobileOnCloseRequest?: () => void;\n /**\n * Возвращает текущую позицию попапа\n */\n onPositionChange?: (pos: PopupPositionsType) => void;\n}\n\ninterface PopupLocation {\n coordinates: {\n left: number;\n top: number;\n };\n position: PopupPositionsType;\n}\n\nexport interface PopupState {\n location: Nullable<PopupLocation>;\n}\n\ntype DefaultProps = Required<\n Pick<\n PopupProps,\n 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Popup extends React.Component<PopupProps, PopupState> {\n public static __KONTUR_REACT_UI__ = 'Popup';\n\n public static propTypes = {\n /**\n * Ссылка (ref) на элемент или React компонент, для которого рисуется попап\n */\n anchorElement: PropTypes.oneOfType([safePropTypesInstanceOf(() => HTMLElement), PropTypes.node]).isRequired,\n\n /**\n * Фон попапа и пина\n */\n backgroundColor: PropTypes.string,\n\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Показывать ли пин\n */\n hasPin: PropTypes.bool,\n\n /**\n * Применять ли box-shadow на попапе. При false отключает границу на пине\n */\n hasShadow: PropTypes.bool,\n\n /**\n * Отступ попапа от элемента\n */\n margin: PropTypes.number,\n\n /**\n * Показан или скрыт попап\n */\n opened: PropTypes.bool,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n pinOffset: PropTypes.number,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n pinSize: PropTypes.number,\n\n /**\n * смещение попапа относительно родительского элемента\n */\n popupOffset: PropTypes.number,\n\n /**\n * С какой стороны показывать попап и край попапа,\n * на котором будет отображаться пин\n */\n positions: PropTypes.array,\n\n /**\n * Игнорировать ли события hover/click\n */\n ignoreHover: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n popupOffset: 0,\n hasPin: false,\n hasShadow: false,\n disableAnimations: isTestEnv,\n useWrapper: false,\n ignoreHover: false,\n width: 'auto',\n };\n\n private getProps = createPropsGetter(Popup.defaultProps);\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n public state: PopupState = { location: this.props.opened ? DUMMY_LOCATION : null };\n private theme!: Theme;\n private layoutEventsToken: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private locationUpdateId: Nullable<number> = null;\n private lastPopupElement: Nullable<Element>;\n private isMobileLayout!: boolean;\n private setRootNode!: TSetRootNode;\n private refForTransition = React.createRef<HTMLDivElement>();\n\n public anchorElement: Nullable<Element> = null;\n\n public componentDidMount() {\n this.updateLocation();\n this.layoutEventsToken = LayoutEvents.addListener(this.handleLayoutEvent);\n }\n\n public static getDerivedStateFromProps(props: Readonly<PopupProps>, state: PopupState) {\n /**\n * Delaying updateLocation to ensure it happens after props update\n */\n if (props.opened) {\n if (!state.location) {\n return { location: DUMMY_LOCATION };\n }\n } else if (state.location) {\n return { location: DUMMY_LOCATION };\n }\n return state;\n }\n\n public componentDidUpdate(prevProps: PopupProps, prevState: PopupState) {\n const hadNoLocation = prevState.location === DUMMY_LOCATION;\n const hasLocation = this.state.location !== DUMMY_LOCATION;\n const wasClosed = prevProps.opened && !this.props.opened;\n\n if (this.isMobileLayout && prevState.location === null && this.state.location === null) {\n this.setState({ location: DUMMY_LOCATION });\n }\n\n if (this.props.opened && hadNoLocation && hasLocation && this.props.onOpen) {\n this.props.onOpen();\n }\n if (wasClosed && !hasLocation && this.props.onClose) {\n this.props.onClose();\n }\n if (this.props.opened) {\n this.delayUpdateLocation();\n }\n }\n\n public componentWillUnmount() {\n this.cancelDelayedUpdateLocation();\n this.removeEventListeners(this.anchorElement);\n if (this.layoutEventsToken) {\n this.layoutEventsToken.remove();\n this.layoutEventsToken = null;\n }\n if (this.state.location && this.props.onClose) {\n this.props.onClose();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMobile() {\n const { opened } = this.props;\n const children = this.renderChildren();\n\n return children ? (\n <MobilePopup opened={opened} withoutRenderContainer onCloseRequest={this.props.mobileOnCloseRequest}>\n {this.content(children)}\n </MobilePopup>\n ) : null;\n }\n\n private renderMain() {\n const { location } = this.state;\n const { anchorElement } = this.props;\n const useWrapper = this.getProps().useWrapper;\n\n let anchor: Nullable<React.ReactNode> = null;\n if (isElement(anchorElement)) {\n this.updateAnchorElement(anchorElement);\n } else if (React.isValidElement(anchorElement)) {\n anchor = useWrapper ? <span>{anchorElement}</span> : anchorElement;\n } else {\n anchor = <span>{anchorElement}</span>;\n }\n\n const anchorWithRef =\n anchor && React.isValidElement(anchor) && isRefableElement(anchor)\n ? React.cloneElement(anchor, {\n ref: (instance: Nullable<React.ReactInstance>) => {\n this.updateAnchorElement(instance);\n const originalRef = (anchor as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n },\n })\n : null;\n\n // we need to get anchor's DOM node\n // so we either set our own ref on it via cloning\n // or relay on findDOMNode (inside getRootNode)\n // which should be called within updateAnchorElement\n // in the case when the anchor is not refable\n\n const canGetAnchorNode = !!anchorWithRef || isElement(anchorElement);\n\n return (\n <RenderContainer anchor={anchorWithRef || anchor} ref={canGetAnchorNode ? null : this.updateAnchorElement}>\n {this.isMobileLayout && !this.props.withoutMobile\n ? this.renderMobile()\n : location && this.renderContent(location)}\n </RenderContainer>\n );\n }\n\n private updateAnchorElement = (instance: Nullable<React.ReactInstance>) => {\n const childDomNode = isInstanceWithAnchorElement(instance) ? instance.getAnchorElement() : getRootNode(instance);\n const anchorElement = this.anchorElement;\n\n if (childDomNode !== anchorElement) {\n this.removeEventListeners(anchorElement);\n this.anchorElement = childDomNode;\n this.addEventListeners(childDomNode);\n }\n };\n\n private addEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.addEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.addEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.addEventListener('click', this.handleClick);\n element.addEventListener('focusin', this.handleFocus as EventListener);\n element.addEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private removeEventListeners(element: Nullable<Element>) {\n if (element && isElement(element)) {\n // @ts-expect-error: Type ElementEventMap is missing events: https://github.com/skbkontur/retail-ui/pull/2946#discussion_r931072657\n element.removeEventListener('mouseenter', this.handleMouseEnter);\n // @ts-expect-error: See the comment above\n element.removeEventListener('mouseleave', this.handleMouseLeave);\n // @ts-expect-error: See the comment above\n element.removeEventListener('click', this.handleClick);\n element.removeEventListener('focusin', this.handleFocus as EventListener);\n element.removeEventListener('focusout', this.handleBlur as EventListener);\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n\n private handleClick = (event: MouseEventType) => {\n if (this.props.onClick) {\n this.props.onClick(event);\n }\n };\n\n private handleFocus = (event: FocusEventType) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: FocusEventType) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private calculateWidth = (width: PopupProps['width']) => {\n if (typeof width === 'string' && width.includes('%')) {\n const anchorWidth = Math.floor(getDOMRect(this.anchorElement).width);\n return this.anchorElement ? (anchorWidth * parseFloat(width)) / 100 : 0;\n }\n return width;\n };\n\n private content = (children: React.ReactNode) => {\n const { backgroundColor } = this.props;\n const width = this.getProps().width;\n\n return (\n <div className={styles.content(this.theme)} data-tid={'PopupContent'} ref={this.refForTransition}>\n <div\n className={styles.contentInner(this.theme)}\n style={{ backgroundColor, width: this.calculateWidth(width) }}\n data-tid={'PopupContentInner'}\n >\n {children}\n </div>\n </div>\n );\n };\n\n private renderContent(location: PopupLocation) {\n const { maxWidth, opened } = this.props;\n const { hasShadow, disableAnimations, ignoreHover } = this.getProps();\n const children = this.renderChildren();\n\n const { direction } = PopupHelper.getPositionObject(location.position);\n const rootStyle: React.CSSProperties = { ...location.coordinates, maxWidth };\n\n const shouldFallbackShadow = isIE11 || isEdge || isSafari;\n\n return (\n <Transition\n timeout={TRANSITION_TIMEOUT}\n appear={!disableAnimations}\n in={Boolean(opened && children)}\n mountOnEnter\n unmountOnExit\n enter={!disableAnimations}\n exit={!disableAnimations}\n onExited={this.resetLocation}\n nodeRef={this.refForTransition}\n >\n {(state: string) => (\n <CommonWrapper {...this.props} rootNodeRef={this.setRootNode}>\n <ZIndex\n data-tid={'Popup__root'}\n wrapperRef={this.refPopupElement}\n priority={'Popup'}\n className={cx({\n [styles.popup(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow && !shouldFallbackShadow,\n [styles.shadowFallback(this.theme)]: hasShadow && shouldFallbackShadow,\n [styles.popupIgnoreHover()]: ignoreHover,\n ...(disableAnimations\n ? {}\n : {\n [styles[`transition-enter-${direction}` as keyof typeof styles](this.theme)]: true,\n [styles.transitionEnter()]: state === 'entering',\n [styles.transitionEnterActive()]: state === 'entered',\n [styles.transitionExit()]: state === 'exiting',\n }),\n })}\n style={rootStyle}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {this.content(children)}\n {!this.isMobileLayout && this.renderPin(location.position)}\n </ZIndex>\n </CommonWrapper>\n )}\n </Transition>\n );\n }\n\n private resetLocation = () => {\n this.cancelDelayedUpdateLocation();\n this.state.location !== null && this.setState({ location: null });\n };\n\n private renderChildren() {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n private refPopupElement = (element: Nullable<Element>) => {\n this.lastPopupElement = element;\n };\n\n private renderPin(positionName: string): React.ReactNode {\n /**\n * Box-shadow does not appear under the pin. Borders are used instead.\n * In non-ie browsers drop-shadow filter is used. It is applying\n * shadow to the pin too.\n */\n const isDefaultBorderColor = this.theme.popupBorderColor === POPUP_BORDER_DEFAULT_COLOR;\n const pinBorder = isIE11 && isDefaultBorderColor ? 'rgba(0, 0, 0, 0.09)' : this.theme.popupBorderColor;\n\n const { pinSize, backgroundColor, borderColor } = this.props;\n const { hasShadow, hasPin } = this.getProps();\n const position = PopupHelper.getPositionObject(positionName);\n\n return (\n hasPin && (\n <PopupPin\n popupElement={this.lastPopupElement}\n popupPosition={positionName}\n size={pinSize || parseInt(this.theme.popupPinSize)}\n offset={this.getPinOffset(position.align)}\n borderWidth={hasShadow ? 1 : 0}\n backgroundColor={backgroundColor || this.theme.popupBackground}\n borderColor={borderColor || pinBorder}\n />\n )\n );\n }\n\n private handleLayoutEvent = () => {\n if (!this.state.location) {\n return;\n }\n this.updateLocation();\n };\n\n private delayUpdateLocation() {\n this.cancelDelayedUpdateLocation();\n this.locationUpdateId = raf(this.updateLocation);\n }\n\n private cancelDelayedUpdateLocation() {\n if (this.locationUpdateId) {\n raf.cancel(this.locationUpdateId);\n this.locationUpdateId = null;\n }\n }\n\n private updateLocation = () => {\n const popupElement = this.lastPopupElement;\n\n if (!popupElement) {\n return;\n }\n\n const location = this.getLocation(popupElement, this.state.location);\n if (location) {\n this.props.onPositionChange?.(location?.position);\n }\n\n if (!this.locationEquals(this.state.location, location)) {\n this.setState({ location });\n }\n };\n\n private locationEquals(x: Nullable<PopupLocation>, y: Nullable<PopupLocation>) {\n if (x === y) {\n return true;\n }\n\n if (isNullable(x) || isNullable(y)) {\n return false;\n }\n\n if (!isIE11 && !isEdge) {\n return (\n x.coordinates.left === y.coordinates.left &&\n x.coordinates.top === y.coordinates.top &&\n x.position === y.position\n );\n }\n\n // Для ie/edge обновляем позицию только при разнице минимум в 1. Иначе есть вероятность\n // уйти в бесконечный ререндер\n\n return (\n x.position === y.position &&\n Math.abs(x.coordinates.top - y.coordinates.top) <= 1 &&\n Math.abs(x.coordinates.left - y.coordinates.left) <= 1\n );\n }\n\n private getLocation(popupElement: Element, location?: Nullable<PopupLocation>) {\n const { positions, tryPreserveFirstRenderedPosition } = this.props;\n const anchorElement = this.anchorElement;\n\n warning(anchorElement && isElement(anchorElement), 'Anchor element is not defined or not instance of Element');\n\n if (!(anchorElement && isElement(anchorElement))) {\n return location;\n }\n\n const anchorRect = PopupHelper.getElementAbsoluteRect(anchorElement);\n const popupRect = PopupHelper.getElementAbsoluteRect(popupElement);\n\n let position: PopupPositionsType;\n let coordinates: Offset;\n\n if (location && location !== DUMMY_LOCATION && location.position) {\n position = location.position;\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n\n const isFullyVisible = PopupHelper.isFullyVisible(coordinates, popupRect);\n const canBecomeVisible = !isFullyVisible && PopupHelper.canBecomeFullyVisible(position, coordinates);\n\n if (\n // если нужно сохранить первоначальную позицию и Попап целиком\n // находится в пределах вьюпорта (или может быть проскроллен в него)\n (tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible)) ||\n // если Попап целиком во вьюпорте и в самой приоритетной позиции\n // (иначе нужно попытаться позицию сменить)\n (isFullyVisible && position === positions[0])\n ) {\n // сохраняем текущую позицию\n return { coordinates, position };\n }\n }\n\n for (position of positions) {\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n if (PopupHelper.isFullyVisible(coordinates, popupRect)) {\n return { coordinates, position };\n }\n }\n\n position = positions[0];\n coordinates = this.getCoordinates(anchorRect, popupRect, position);\n return { coordinates, position };\n }\n\n private getPinnedPopupOffset(anchorRect: Rect, position: PositionObject) {\n if (!this.getProps().hasPin || /center|middle/.test(position.align)) {\n return 0;\n }\n\n const anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;\n\n const { pinSize } = this.props;\n\n return Math.max(\n 0,\n this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2,\n );\n }\n\n private getCoordinates(anchorRect: Rect, popupRect: Rect, positionName: string) {\n const { margin: marginFromProps } = this.props;\n const margin =\n isNonNullable(marginFromProps) && !isNaN(marginFromProps)\n ? marginFromProps\n : parseInt(this.theme.popupMargin) || 0;\n const position = PopupHelper.getPositionObject(positionName);\n const popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);\n\n switch (position.direction) {\n case 'top':\n return {\n top: anchorRect.top - popupRect.height - margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'bottom':\n return {\n top: anchorRect.top + anchorRect.height + margin,\n left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset),\n };\n case 'left':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left - popupRect.width - margin,\n };\n case 'right':\n return {\n top: this.getVerticalPosition(anchorRect, popupRect, position.align, popupOffset),\n left: anchorRect.left + anchorRect.width + margin,\n };\n default:\n throw new Error(`Unexpected direction '${position.direction}'`);\n }\n }\n\n private getPinOffset(align: string) {\n const { pinOffset } = this.props;\n\n switch (align) {\n case 'top':\n case 'bottom':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetY);\n case 'left':\n case 'right':\n return pinOffset || parseInt(this.theme.popupPinOffset) || parseInt(this.theme.popupPinOffsetX);\n case 'center':\n case 'middle':\n return 0;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getHorizontalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'left':\n return anchorRect.left - popupOffset;\n case 'center':\n return anchorRect.left - (popupRect.width - anchorRect.width) / 2;\n case 'right':\n return anchorRect.left - (popupRect.width - anchorRect.width) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getVerticalPosition(anchorRect: Rect, popupRect: Rect, align: string, popupOffset: number) {\n switch (align) {\n case 'top':\n return anchorRect.top - popupOffset;\n case 'middle':\n return anchorRect.top - (popupRect.height - anchorRect.height) / 2;\n case 'bottom':\n return anchorRect.top - (popupRect.height - anchorRect.height) + popupOffset;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
@@ -64,11 +64,6 @@ interface PopupLocation {
64
64
  export interface PopupState {
65
65
  location: Nullable<PopupLocation>;
66
66
  }
67
- export declare const PopupDataTids: {
68
- readonly content: "PopupContent";
69
- readonly contentInner: "PopupContentInner";
70
- readonly popupPin: "PopupPin__root";
71
- };
72
67
  declare type DefaultProps = Required<Pick<PopupProps, 'popupOffset' | 'hasPin' | 'hasShadow' | 'disableAnimations' | 'useWrapper' | 'ignoreHover' | 'width'>>;
73
68
  export declare class Popup extends React.Component<PopupProps, PopupState> {
74
69
  static __KONTUR_REACT_UI__: string;
@@ -4,7 +4,6 @@ import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { PopupHelper } from "../PopupHelper";
6
6
  import { styles } from "../PopupPin.styles";
7
- import { PopupDataTids } from "../Popup";
8
7
  var borderStyles = {
9
8
  position: 'absolute',
10
9
  borderStyle: 'solid',
@@ -32,7 +31,6 @@ export var PopupPin = /*#__PURE__*/function (_React$Component) {
32
31
  var styleInner = this.getInnerStyle(options.activeBorder, this.props.size, this.props.backgroundColor);
33
32
  var styleWrapper = this.getWrapperStyle(options.outerLeft, options.outerTop, options.outerSize);
34
33
  return /*#__PURE__*/React.createElement("div", {
35
- "data-tid": PopupDataTids.popupPin,
36
34
  className: styles.wrapper(),
37
35
  style: styleWrapper
38
36
  }, /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["PopupPin.tsx"],"names":["React","PropTypes","PopupHelper","styles","PopupDataTids","borderStyles","position","borderStyle","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","PopupPin","render","props","popupElement","options","getPinOptions","getElementAbsoluteRect","getPositionObject","popupPosition","size","offset","borderWidth","styleOuter","getOuterStyle","activeBorder","outerSize","borderColor","styleInner","getInnerStyle","backgroundColor","styleWrapper","getWrapperStyle","outerLeft","outerTop","popupPin","wrapper","getPopupOppositeDirection","popupDirection","direction","TypeError","left","top","width","height","borderWitdth","popupRect","pinSize","pinOffset","bordersDelta","getPinLeftCoordinate","align","innerTop","innerLeft","getPinTopCoordinate","Error","pinHeight","Component","__KONTUR_REACT_UI__","propTypes","string","number","any"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './PopupPin.styles';\nimport { PopupDataTids } from './Popup';\n\nconst borderStyles = {\n position: 'absolute',\n borderStyle: 'solid',\n borderTopColor: 'transparent',\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n};\n\ninterface Props {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n offset: number;\n popupElement: Nullable<Element>;\n popupPosition: string;\n size: number;\n}\n\nexport class PopupPin extends React.Component<Props> {\n public static __KONTUR_REACT_UI__ = 'PopupPin';\n\n public static propTypes = {\n /**\n * Цвет фон пина\n */\n backgroundColor: PropTypes.string,\n\n /**\n * Цвет границы пина\n */\n borderColor: PropTypes.string,\n\n /**\n * Ширина границы пина\n */\n borderWidth: PropTypes.number,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n offset: PropTypes.number,\n\n /**\n * Ссылка на попап\n */\n popupElement: PropTypes.any,\n\n /**\n * Позиция поапа, по которой будет вычеслено положение пина\n */\n popupPosition: PropTypes.string,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n size: PropTypes.number,\n };\n\n public render() {\n if (!this.props.popupElement) {\n return null;\n }\n\n const options = this.getPinOptions(\n PopupHelper.getElementAbsoluteRect(this.props.popupElement),\n PopupHelper.getPositionObject(this.props.popupPosition),\n this.props.size,\n this.props.offset,\n this.props.borderWidth,\n );\n\n const styleOuter: React.CSSProperties = this.getOuterStyle(\n options.activeBorder,\n options.outerSize,\n this.props.borderColor,\n );\n\n const styleInner: React.CSSProperties = this.getInnerStyle(\n options.activeBorder,\n this.props.size,\n this.props.backgroundColor,\n );\n\n const styleWrapper = this.getWrapperStyle(options.outerLeft, options.outerTop, options.outerSize);\n\n return (\n <div data-tid={PopupDataTids.popupPin} className={styles.wrapper()} style={styleWrapper}>\n <div style={styleOuter}>\n <div style={styleInner} />\n </div>\n </div>\n );\n }\n\n private getPopupOppositeDirection(): 'bottom' | 'top' | 'left' | 'right' {\n const popupDirection = PopupHelper.getPositionObject(this.props.popupPosition).direction;\n switch (popupDirection) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n default:\n throw new TypeError('Unknown direction ' + popupDirection);\n }\n }\n\n private getWrapperStyle(left: number, top: number, borderWidth: number) {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n [direction]: -borderWidth + 'px',\n left: left + 'px',\n width: borderWidth * 2 + 'px',\n height: borderWidth + 'px',\n };\n case 'left':\n case 'right':\n return {\n [direction]: -borderWidth + 'px',\n top: top + 'px',\n height: borderWidth * 2 + 'px',\n width: borderWidth + 'px',\n };\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getOuterStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n left: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n top: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getInnerStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n left: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n top: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getPinOptions(\n popupRect: Rect,\n popupPosition: PositionObject,\n pinSize: number,\n pinOffset: number,\n borderWidth: number,\n ) {\n const bordersDelta = 2 * borderWidth;\n const outerSize = pinSize + bordersDelta;\n\n switch (popupPosition.direction) {\n case 'top':\n return {\n outerTop: popupRect.height,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Top',\n outerSize,\n };\n case 'bottom':\n return {\n outerTop: -2 * outerSize,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize + 2 * bordersDelta,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Bottom',\n outerSize,\n };\n case 'left':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: popupRect.width,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize,\n activeBorder: 'Left',\n outerSize,\n };\n case 'right':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: -2 * outerSize,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize + 2 * bordersDelta,\n activeBorder: 'Right',\n outerSize,\n };\n default:\n throw new Error('Direction must be one of top, right, bottom, left');\n }\n }\n\n private getPinTopCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'top':\n return pinOffset;\n case 'middle':\n return popupRect.height / 2 - pinHeight;\n case 'bottom':\n return popupRect.height - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getPinLeftCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'left':\n return pinOffset;\n case 'center':\n return popupRect.width / 2 - pinHeight;\n case 'right':\n return popupRect.width - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["PopupPin.tsx"],"names":["React","PropTypes","PopupHelper","styles","borderStyles","position","borderStyle","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","PopupPin","render","props","popupElement","options","getPinOptions","getElementAbsoluteRect","getPositionObject","popupPosition","size","offset","borderWidth","styleOuter","getOuterStyle","activeBorder","outerSize","borderColor","styleInner","getInnerStyle","backgroundColor","styleWrapper","getWrapperStyle","outerLeft","outerTop","wrapper","getPopupOppositeDirection","popupDirection","direction","TypeError","left","top","width","height","borderWitdth","popupRect","pinSize","pinOffset","bordersDelta","getPinLeftCoordinate","align","innerTop","innerLeft","getPinTopCoordinate","Error","pinHeight","Component","__KONTUR_REACT_UI__","propTypes","string","number","any"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { PopupHelper, PositionObject, Rect } from './PopupHelper';\nimport { styles } from './PopupPin.styles';\n\nconst borderStyles = {\n position: 'absolute',\n borderStyle: 'solid',\n borderTopColor: 'transparent',\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n borderRightColor: 'transparent',\n};\n\ninterface Props {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n offset: number;\n popupElement: Nullable<Element>;\n popupPosition: string;\n size: number;\n}\n\nexport class PopupPin extends React.Component<Props> {\n public static __KONTUR_REACT_UI__ = 'PopupPin';\n\n public static propTypes = {\n /**\n * Цвет фон пина\n */\n backgroundColor: PropTypes.string,\n\n /**\n * Цвет границы пина\n */\n borderColor: PropTypes.string,\n\n /**\n * Ширина границы пина\n */\n borderWidth: PropTypes.number,\n\n /**\n * Смещение пина от края попапа. Край задаётся в пропе position вторым словом\n */\n offset: PropTypes.number,\n\n /**\n * Ссылка на попап\n */\n popupElement: PropTypes.any,\n\n /**\n * Позиция поапа, по которой будет вычеслено положение пина\n */\n popupPosition: PropTypes.string,\n\n /**\n * Сторона пина без учёта границы.\n * Пин представляет собой равносторонний треугольник, высота от попапа\n * до \"носика\" пина будет соответствовать формуле (size* √3)/2\n */\n size: PropTypes.number,\n };\n\n public render() {\n if (!this.props.popupElement) {\n return null;\n }\n\n const options = this.getPinOptions(\n PopupHelper.getElementAbsoluteRect(this.props.popupElement),\n PopupHelper.getPositionObject(this.props.popupPosition),\n this.props.size,\n this.props.offset,\n this.props.borderWidth,\n );\n\n const styleOuter: React.CSSProperties = this.getOuterStyle(\n options.activeBorder,\n options.outerSize,\n this.props.borderColor,\n );\n\n const styleInner: React.CSSProperties = this.getInnerStyle(\n options.activeBorder,\n this.props.size,\n this.props.backgroundColor,\n );\n\n const styleWrapper = this.getWrapperStyle(options.outerLeft, options.outerTop, options.outerSize);\n\n return (\n <div className={styles.wrapper()} style={styleWrapper}>\n <div style={styleOuter}>\n <div style={styleInner} />\n </div>\n </div>\n );\n }\n\n private getPopupOppositeDirection(): 'bottom' | 'top' | 'left' | 'right' {\n const popupDirection = PopupHelper.getPositionObject(this.props.popupPosition).direction;\n switch (popupDirection) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n default:\n throw new TypeError('Unknown direction ' + popupDirection);\n }\n }\n\n private getWrapperStyle(left: number, top: number, borderWidth: number) {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n [direction]: -borderWidth + 'px',\n left: left + 'px',\n width: borderWidth * 2 + 'px',\n height: borderWidth + 'px',\n };\n case 'left':\n case 'right':\n return {\n [direction]: -borderWidth + 'px',\n top: top + 'px',\n height: borderWidth * 2 + 'px',\n width: borderWidth + 'px',\n };\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getOuterStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n left: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 'px',\n top: '0px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getInnerStyle(activeBorder: string, borderWitdth: number, borderColor: string): React.CSSProperties {\n const direction = this.getPopupOppositeDirection();\n switch (direction) {\n case 'top':\n case 'bottom':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n left: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n case 'left':\n case 'right':\n return {\n ...borderStyles,\n [direction]: -borderWitdth + 2 + 'px',\n top: -borderWitdth + 'px',\n borderWidth: borderWitdth + 'px',\n ['border' + activeBorder + 'Color']: borderColor,\n } as React.CSSProperties;\n default:\n throw new TypeError('Unknown direction ' + direction);\n }\n }\n\n private getPinOptions(\n popupRect: Rect,\n popupPosition: PositionObject,\n pinSize: number,\n pinOffset: number,\n borderWidth: number,\n ) {\n const bordersDelta = 2 * borderWidth;\n const outerSize = pinSize + bordersDelta;\n\n switch (popupPosition.direction) {\n case 'top':\n return {\n outerTop: popupRect.height,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Top',\n outerSize,\n };\n case 'bottom':\n return {\n outerTop: -2 * outerSize,\n outerLeft: this.getPinLeftCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n innerTop: -outerSize + 2 * bordersDelta,\n innerLeft: -outerSize + bordersDelta,\n activeBorder: 'Bottom',\n outerSize,\n };\n case 'left':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: popupRect.width,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize,\n activeBorder: 'Left',\n outerSize,\n };\n case 'right':\n return {\n outerTop: this.getPinTopCoordinate(popupRect, popupPosition.align, pinSize, pinOffset) - bordersDelta,\n outerLeft: -2 * outerSize,\n innerTop: -outerSize + bordersDelta,\n innerLeft: -outerSize + 2 * bordersDelta,\n activeBorder: 'Right',\n outerSize,\n };\n default:\n throw new Error('Direction must be one of top, right, bottom, left');\n }\n }\n\n private getPinTopCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'top':\n return pinOffset;\n case 'middle':\n return popupRect.height / 2 - pinHeight;\n case 'bottom':\n return popupRect.height - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n\n private getPinLeftCoordinate(popupRect: Rect, align: string, pinHeight: number, pinOffset: number) {\n switch (align) {\n case 'left':\n return pinOffset;\n case 'center':\n return popupRect.width / 2 - pinHeight;\n case 'right':\n return popupRect.width - pinOffset - 2 * pinHeight;\n default:\n throw new Error(`Unexpected align '${align}'`);\n }\n }\n}\n"]}
@@ -18,10 +18,6 @@ export var PopupMenuType = {
18
18
  Dropdown: 'dropdown',
19
19
  Tooltip: 'tooltip'
20
20
  };
21
- export var PopupMenuDataTids = {
22
- root: 'PopupMenu__root',
23
- caption: 'PopupMenu__caption'
24
- };
25
21
  var Positions = ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom left', 'bottom center', 'bottom right', 'left top', 'left middle', 'left bottom'];
26
22
  export var PopupMenu = rootNode(_class = responsiveLayout(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
27
23
  _inheritsLoose(PopupMenu, _React$Component);
@@ -71,7 +67,7 @@ export var PopupMenu = rootNode(_class = responsiveLayout(_class = (_temp = _cla
71
67
  });
72
68
 
73
69
  return /*#__PURE__*/React.createElement("span", {
74
- "data-tid": PopupMenuDataTids.caption,
70
+ "data-tid": "PopupMenu__caption",
75
71
  className: styles.caption(),
76
72
  ref: function ref(element) {
77
73
  return _this.captionWrapper = element;
@@ -80,7 +76,7 @@ export var PopupMenu = rootNode(_class = responsiveLayout(_class = (_temp = _cla
80
76
  }
81
77
 
82
78
  return /*#__PURE__*/React.createElement("span", {
83
- "data-tid": PopupMenuDataTids.caption,
79
+ "data-tid": "PopupMenu__caption",
84
80
  onClick: _this.handleCaptionClick,
85
81
  onKeyDown: _this.handleCaptionKeyDown,
86
82
  ref: function ref(element) {
@@ -201,7 +197,6 @@ export var PopupMenu = rootNode(_class = responsiveLayout(_class = (_temp = _cla
201
197
  onFocusOutside: this.hideMenuWithoutFocusing,
202
198
  active: this.state.menuVisible
203
199
  }, /*#__PURE__*/React.createElement("div", {
204
- "data-tid": PopupMenuDataTids.root,
205
200
  className: styles.container(),
206
201
  style: {
207
202
  width: this.props.width
@@ -1 +1 @@
1
- {"version":3,"sources":["PopupMenu.tsx"],"names":["React","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","InternalMenu","Popup","RenderLayer","CommonWrapper","responsiveLayout","rootNode","createPropsGetter","isValidPositions","styles","PopupMenuType","Dropdown","Tooltip","PopupMenuDataTids","root","caption","Positions","PopupMenu","getProps","defaultProps","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","renderCaption","props","opened","openMenu","closeMenu","toggleMenu","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","popupHasPin","disableAnimations","setRootNode","container","width","children","popupMargin","popupPinOffset","getPositions","isMobileLayout","menuWidth","menuMaxHeight","header","footer","positions","Component","__KONTUR_REACT_UI__","Type"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { InternalMenu } from '../InternalMenu';\nimport { Popup, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps extends CommonProps {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations?: boolean;\n /** Действие при открытии меню */\n onOpen?: () => void;\n /** Действие при закрытии меню */\n onClose?: () => void;\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n} as const;\n\nexport const PopupMenuDataTids = {\n root: 'PopupMenu__root',\n caption: 'PopupMenu__caption',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\ntype DefaultProps = Required<Pick<PopupMenuProps, 'positions' | 'type' | 'popupHasPin' | 'disableAnimations'>>;\n\n@rootNode\n@responsiveLayout\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps: DefaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n private getProps = createPropsGetter(PopupMenu.defaultProps);\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<InternalMenu> = null;\n private setRootNode!: TSetRootNode;\n\n public render() {\n const { popupHasPin, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div data-tid={PopupMenuDataTids.root} className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={disableAnimations}\n onOpen={this.handleOpen}\n mobileOnCloseRequest={this.hideMenu}\n width={this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto'}\n >\n <InternalMenu\n hasShadow={false}\n maxHeight={this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </InternalMenu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<InternalMenu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {caption}\n </span>\n );\n }\n\n return (\n <span\n data-tid={PopupMenuDataTids.caption}\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.props.caption}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n const positions = this.getProps().positions;\n if (positions && isValidPositions(positions)) {\n return positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (document) {\n this.savedFocusableElement = document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n\n if (this.state.menuVisible && this.props.onOpen) {\n this.props.onOpen();\n }\n\n if (!this.state.menuVisible && this.props.onClose) {\n this.props.onClose();\n }\n\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}
1
+ {"version":3,"sources":["PopupMenu.tsx"],"names":["React","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","someKeys","InternalMenu","Popup","RenderLayer","CommonWrapper","responsiveLayout","rootNode","createPropsGetter","isValidPositions","styles","PopupMenuType","Dropdown","Tooltip","Positions","PopupMenu","getProps","defaultProps","state","menuVisible","firstItemShouldBeSelected","captionWrapper","savedFocusableElement","menu","open","showMenu","close","hideMenu","refInternalMenu","element","handleOpen","focus","renderCaption","props","caption","opened","openMenu","closeMenu","toggleMenu","handleCaptionClick","handleCaptionKeyDown","hideMenuWithoutFocusing","saveFocus","setState","handleChangeMenuVisible","restoreFocus","e","preventDefault","handleKeyDown","document","activeElement","focusShouldBeRestored","onOpen","onClose","onChangeMenuState","handleItemSelection","event","isDefaultPrevented","type","render","popupHasPin","disableAnimations","setRootNode","container","width","children","popupMargin","popupPinOffset","getPositions","isMobileLayout","menuWidth","menuMaxHeight","header","footer","positions","Component","__KONTUR_REACT_UI__","Type"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n someKeys,\n} from '../../lib/events/keyboard/identifiers';\nimport { InternalMenu } from '../InternalMenu';\nimport { Popup, PopupPositionsType } from '../Popup';\nimport { RenderLayer } from '../RenderLayer';\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { isValidPositions } from './validatePositions';\nimport { styles } from './PopupMenu.styles';\n\nexport interface PopupMenuCaptionProps {\n opened: boolean;\n openMenu: (firstItemShouldBeSelected?: boolean) => void;\n closeMenu: (restoreFocus?: boolean) => void;\n toggleMenu: () => void;\n}\n\nexport interface PopupMenuProps extends CommonProps {\n children?: React.ReactNode;\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Ширина контейнера и caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо ```caption```,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: React.ReactNode | ((props: PopupMenuCaptionProps) => React.ReactNode);\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n /** Массив разрешенных положений меню относительно caption'а. */\n positions?: PopupPositionsType[];\n /** Колбэк, вызываемый после открытия/закрытия меню */\n onChangeMenuState?: (isOpened: boolean, restoreFocus: boolean) => void;\n /** Пропсы, передающиеся в Popup */\n popupHasPin?: boolean;\n popupMargin?: number;\n popupPinOffset?: number;\n type?: 'dropdown' | 'tooltip';\n disableAnimations?: boolean;\n /** Действие при открытии меню */\n onOpen?: () => void;\n /** Действие при закрытии меню */\n onClose?: () => void;\n}\n\ninterface PopupMenuState {\n menuVisible: boolean;\n firstItemShouldBeSelected?: boolean;\n}\n\nexport const PopupMenuType = {\n Dropdown: 'dropdown',\n Tooltip: 'tooltip',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'top left',\n 'top center',\n 'top right',\n 'right top',\n 'right middle',\n 'right bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n 'left top',\n 'left middle',\n 'left bottom',\n];\n\ntype DefaultProps = Required<Pick<PopupMenuProps, 'positions' | 'type' | 'popupHasPin' | 'disableAnimations'>>;\n\n@rootNode\n@responsiveLayout\nexport class PopupMenu extends React.Component<PopupMenuProps, PopupMenuState> {\n public static __KONTUR_REACT_UI__ = 'PopupMenu';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps: DefaultProps = {\n positions: Positions,\n type: PopupMenuType.Tooltip,\n popupHasPin: true,\n disableAnimations: false,\n };\n\n private getProps = createPropsGetter(PopupMenu.defaultProps);\n\n public static Type = PopupMenuType;\n\n public state = {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n };\n\n private captionWrapper: HTMLSpanElement | null = null;\n private savedFocusableElement: HTMLElement | null = null;\n private menu: Nullable<InternalMenu> = null;\n private setRootNode!: TSetRootNode;\n\n public render() {\n const { popupHasPin, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.hideMenuWithoutFocusing}\n onFocusOutside={this.hideMenuWithoutFocusing}\n active={this.state.menuVisible}\n >\n <div className={styles.container()} style={{ width: this.props.width }}>\n {this.renderCaption()}\n {this.captionWrapper && this.props.children && (\n <Popup\n anchorElement={this.captionWrapper}\n opened={this.state.menuVisible}\n hasShadow\n margin={this.props.popupMargin}\n hasPin={popupHasPin}\n pinOffset={this.props.popupPinOffset}\n positions={this.getPositions()}\n disableAnimations={disableAnimations}\n onOpen={this.handleOpen}\n mobileOnCloseRequest={this.hideMenu}\n width={this.isMobileLayout ? 'auto' : this.props.menuWidth || 'auto'}\n >\n <InternalMenu\n hasShadow={false}\n maxHeight={this.isMobileLayout ? 'none' : this.props.menuMaxHeight || 'none'}\n onKeyDown={this.handleKeyDown}\n onItemClick={this.handleItemSelection}\n cyclicSelection={false}\n ref={this.refInternalMenu}\n initialSelectedItemIndex={this.state.firstItemShouldBeSelected ? 0 : -1}\n header={this.props.header}\n footer={this.props.footer}\n >\n {this.props.children}\n </InternalMenu>\n </Popup>\n )}\n </div>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n public open = (): void => this.showMenu();\n public close = (): void => this.hideMenu();\n\n private refInternalMenu = (element: Nullable<InternalMenu>) => (this.menu = element);\n\n private handleOpen = () => {\n if (this.menu) {\n this.menu.focus();\n }\n };\n\n private renderCaption = () => {\n if (typeof this.props.caption === 'function') {\n const caption = this.props.caption({\n opened: this.state.menuVisible,\n openMenu: this.showMenu,\n closeMenu: this.hideMenu,\n toggleMenu: this.toggleMenu,\n });\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n className={styles.caption()}\n ref={(element) => (this.captionWrapper = element)}\n >\n {caption}\n </span>\n );\n }\n\n return (\n <span\n data-tid=\"PopupMenu__caption\"\n onClick={this.handleCaptionClick}\n onKeyDown={this.handleCaptionKeyDown}\n ref={(element) => (this.captionWrapper = element)}\n className={styles.caption()}\n >\n {this.props.caption}\n </span>\n );\n };\n\n private hideMenuWithoutFocusing = () => this.hideMenu();\n\n private getPositions(): Readonly<PopupPositionsType[]> {\n const positions = this.getProps().positions;\n if (positions && isValidPositions(positions)) {\n return positions;\n }\n\n return Positions;\n }\n\n private showMenu = (firstItemShouldBeSelected?: boolean): void => {\n this.saveFocus();\n this.setState(\n {\n menuVisible: true,\n firstItemShouldBeSelected,\n },\n () => {\n this.handleChangeMenuVisible(false);\n },\n );\n };\n\n private hideMenu = (restoreFocus?: boolean): void => {\n this.setState(\n {\n menuVisible: false,\n firstItemShouldBeSelected: false,\n },\n () => {\n this.handleChangeMenuVisible(!!restoreFocus);\n },\n );\n };\n\n private toggleMenu = (): void => {\n this.state.menuVisible ? this.hideMenu() : this.showMenu();\n };\n\n private handleCaptionClick = (): void => {\n this.toggleMenu();\n };\n\n private handleCaptionKeyDown = (e: React.KeyboardEvent<HTMLElement>): void => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n this.showMenu(true);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEscape(e)) {\n const restoreFocus = true;\n this.hideMenu(restoreFocus);\n }\n };\n\n private saveFocus = (): void => {\n if (document) {\n this.savedFocusableElement = document.activeElement as HTMLElement;\n }\n };\n\n private restoreFocus = (): void => {\n if (this.savedFocusableElement) {\n this.savedFocusableElement.focus();\n this.savedFocusableElement = null;\n }\n };\n\n private handleChangeMenuVisible = (focusShouldBeRestored: boolean): void => {\n if (focusShouldBeRestored) {\n this.restoreFocus();\n }\n\n if (this.state.menuVisible && this.props.onOpen) {\n this.props.onOpen();\n }\n\n if (!this.state.menuVisible && this.props.onClose) {\n this.props.onClose();\n }\n\n if (typeof this.props.onChangeMenuState === 'function') {\n this.props.onChangeMenuState(this.state.menuVisible, focusShouldBeRestored);\n }\n };\n\n private handleItemSelection = (event: React.SyntheticEvent<HTMLElement>): void => {\n if (event.isDefaultPrevented()) {\n return;\n }\n\n if (event.type === 'keydown') {\n event.preventDefault();\n }\n\n const restoreFocus = event.type === 'keydown';\n this.hideMenu(restoreFocus);\n };\n}\n"]}