@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
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLikeText.tsx"],"names":["React","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","createPropsGetter","isTheme2022","InputLayoutAside","InputLayoutContext","InputLayoutContextDefault","HiddenInput","InputLikeTextDataTids","root","input","InputLikeText","getProps","defaultProps","state","blinking","focused","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","selectInnerNode","start","end","document","body","setTimeout","focusTimeout","clearInterval","window","focus","renderMain","props","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","disabled","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","rest","leftSide","theme","renderLeftSide","rightSide","renderRightSide","className","getSizeClassName","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","context","Object","assign","textAlign","undefined","handleFocus","handleBlur","handleKeyDown","handleMouseDown","absolute","inputFocus","inputDisabled","children","renderPlaceholder","hiddenInputRef","renderLeftIcon","renderIcon","getIconClassname","renderRightIcon","icon","iconNode","Function","useDefaultColor","iconDisabled","renderPrefix","prefixDisabled","renderSuffix","suffixDisabled","sideContainer","rightContainer","hasValue","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","onKeyDown","handleMouseDragStart","documentElement","classList","add","userSelectNone","handleMouseDragEnd","remove","setAttribute","setState","onFocus","removeAttribute","stopPropagation","onBlur","el","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","blur","blinkTimeout","getNode","componentDidMount","listen","addEventListener","componentWillUnmount","clearTimeout","stop","removeEventListener","render","setRootNode","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag, MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { removeAllSelections, selectNodeContents } from '../../components/DateInput/helpers/SelectionHelpers';\nimport { InputProps, InputIconType, InputState } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { InputLayoutAside } from '../../components/Input/InputLayout/InputLayoutAside';\nimport { InputLayoutContext, InputLayoutContextDefault } from '../../components/Input/InputLayout/InputLayoutContext';\n\nimport { HiddenInput } from './HiddenInput';\nimport { styles } from './InputLikeText.styles';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder'>;\n\nexport const InputLikeTextDataTids = {\n root: 'InputLikeText__root',\n input: 'InputLikeText__input',\n} as const;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'size'>>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n\n public static defaultProps: DefaultProps = { size: 'small' };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n public state = { blinking: false, focused: false };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: Nullable<number>;\n private blinkTimeout: Nullable<number>;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && findRenderContainer(node, document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n setTimeout(() => selectNodeContents(node, start, end), 0);\n if (this.focusTimeout) {\n clearInterval(this.focusTimeout);\n }\n this.focusTimeout = window.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n\n const leftSide = isTheme2022(this.theme) ? (\n <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />\n ) : (\n this.renderLeftSide()\n );\n const rightSide = isTheme2022(this.theme) ? (\n <InputLayoutAside icon={rightIcon} text={suffix} side=\"right\" />\n ) : (\n this.renderRightSide()\n );\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n const context = InputLayoutContextDefault;\n Object.assign(context, { disabled, focused, size });\n\n return (\n <span\n data-tid={InputLikeTextDataTids.root}\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? undefined : 0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <InputLayoutContext.Provider value={context}>\n <input type=\"hidden\" value={value} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid={InputLikeTextDataTids.input}\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </InputLayoutContext.Provider>\n </span>\n );\n };\n\n private getIconClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? jsInputStyles.rightIconLarge(this.theme) : jsInputStyles.leftIconLarge(this.theme);\n case 'medium':\n return right ? jsInputStyles.rightIconMedium(this.theme) : jsInputStyles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? jsInputStyles.rightIconSmall(this.theme) : jsInputStyles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon = () => {\n return this.renderIcon(this.props.leftIcon, this.getIconClassname());\n };\n\n private renderRightIcon = () => {\n return this.renderIcon(this.props.rightIcon, this.getIconClassname(true));\n };\n\n private renderIcon = (icon: InputIconType, className: string): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(jsInputStyles.icon(), className, jsInputStyles.useDefaultColor(this.theme), {\n [jsInputStyles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n };\n\n private renderPrefix = (): JSX.Element | null => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.prefix(this.theme), { [jsInputStyles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = (): JSX.Element | null => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.suffix(this.theme), { [jsInputStyles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n\n private renderLeftSide = (): JSX.Element | null => {\n const leftIcon = this.renderLeftIcon();\n const prefix = this.renderPrefix();\n\n if (!leftIcon && !prefix) {\n return null;\n }\n\n return (\n <span className={jsInputStyles.sideContainer()}>\n {leftIcon}\n {prefix}\n </span>\n );\n };\n\n private renderRightSide = (): JSX.Element | null => {\n const rightIcon = this.renderRightIcon();\n const suffix = this.renderSuffix();\n\n if (!rightIcon && !suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.sideContainer(), jsInputStyles.rightContainer())}>\n {rightIcon}\n {suffix}\n </span>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && e.target instanceof Node && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = () => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n document.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n document.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11) {\n selectNodeContents(document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["InputLikeText.tsx"],"names":["React","isNonNullable","isKeyTab","isShortcutPaste","MouseDrag","isEdge","isIE11","isMobile","removeAllSelections","selectNodeContents","styles","jsInputStyles","ThemeContext","CommonWrapper","cx","findRenderContainer","rootNode","createPropsGetter","HiddenInput","InputLikeText","getProps","defaultProps","state","blinking","focused","node","hiddenInput","lastSelectedInnerNode","frozen","frozenBlur","dragging","selectInnerNode","start","end","document","body","setTimeout","focusTimeout","clearInterval","window","focus","renderMain","props","innerRef","tabIndex","placeholder","align","borderless","width","size","error","warning","onValueChange","disabled","prefix","suffix","leftIcon","rightIcon","value","onMouseDragStart","onMouseDragEnd","takeContentWidth","rest","leftSide","renderLeftSide","rightSide","renderRightSide","className","root","theme","getSizeClassName","blink","focusFallback","warningFallback","errorFallback","hideBlinkingCursor","wrapperClass","wrapper","userSelectContain","textAlign","undefined","handleFocus","handleBlur","handleKeyDown","handleMouseDown","input","absolute","inputFocus","inputDisabled","children","renderPlaceholder","hiddenInputRef","renderLeftIcon","renderIcon","getIconClassname","renderRightIcon","icon","iconNode","Function","useDefaultColor","iconDisabled","renderPrefix","prefixDisabled","renderSuffix","suffixDisabled","sideContainer","rightContainer","hasValue","placeholderDisabled","placeholderFocus","handleDocumentMouseDown","e","target","Node","contains","defrost","handleDocumentKeyDown","onKeyDown","handleMouseDragStart","documentElement","classList","add","userSelectNone","handleMouseDragEnd","remove","setAttribute","setState","onFocus","removeAttribute","stopPropagation","onBlur","el","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","blur","blinkTimeout","getNode","componentDidMount","listen","addEventListener","componentWillUnmount","clearTimeout","stop","removeEventListener","render","setRootNode","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyTab, isShortcutPaste } from '../../lib/events/keyboard/identifiers';\nimport { MouseDrag, MouseDragEventHandler } from '../../lib/events/MouseDrag';\nimport { isEdge, isIE11, isMobile } from '../../lib/client';\nimport { Nullable } from '../../typings/utility-types';\nimport { removeAllSelections, selectNodeContents } from '../../components/DateInput/helpers/SelectionHelpers';\nimport { InputProps, InputIconType, InputState } from '../../components/Input';\nimport { styles as jsInputStyles } from '../../components/Input/Input.styles';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { findRenderContainer } from '../../lib/listenFocusOutside';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './InputLikeText.styles';\nimport { HiddenInput } from './HiddenInput';\n\nexport interface InputLikeTextProps extends CommonProps, InputProps {\n children?: React.ReactNode;\n innerRef?: (el: HTMLElement | null) => void;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onMouseDragStart?: MouseDragEventHandler;\n onMouseDragEnd?: MouseDragEventHandler;\n takeContentWidth?: boolean;\n}\n\nexport type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder'>;\n\ntype DefaultProps = Required<Pick<InputLikeTextProps, 'size'>>;\n\n@rootNode\nexport class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {\n public static __KONTUR_REACT_UI__ = 'InputLikeText';\n\n public static defaultProps: DefaultProps = { size: 'small' };\n\n private getProps = createPropsGetter(InputLikeText.defaultProps);\n\n public state = { blinking: false, focused: false };\n\n private theme!: Theme;\n private node: HTMLElement | null = null;\n private hiddenInput: HTMLInputElement | null = null;\n private lastSelectedInnerNode: [HTMLElement, number, number] | null = null;\n private frozen = false;\n private frozenBlur = false;\n private dragging = false;\n private focusTimeout: Nullable<number>;\n private blinkTimeout: Nullable<number>;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.node) {\n this.node.blur();\n }\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.props.disabled) {\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(() => this.setState({ blinking: false }), 150);\n });\n }\n\n public getNode(): HTMLElement | null {\n return this.node;\n }\n\n public selectInnerNode = (node: HTMLElement | null, start = 0, end = 1) => {\n if (this.dragging || !node) {\n return;\n }\n if (isIE11 && findRenderContainer(node, document.body)) {\n // Code below causes Popup to close after triggering the focus event on the body in IE11\n return;\n }\n this.frozen = true;\n this.frozenBlur = true;\n\n this.lastSelectedInnerNode = [node, start, end];\n setTimeout(() => selectNodeContents(node, start, end), 0);\n if (this.focusTimeout) {\n clearInterval(this.focusTimeout);\n }\n this.focusTimeout = window.setTimeout(() => (isIE11 || isEdge) && this.node && this.node.focus(), 0);\n };\n\n public componentDidMount() {\n if (this.node) {\n MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);\n }\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n MouseDrag.stop(this.node);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<InputLikeTextProps>) => {\n const {\n innerRef,\n tabIndex,\n placeholder,\n align,\n borderless,\n width,\n size,\n error,\n warning,\n onValueChange,\n disabled,\n prefix,\n suffix,\n leftIcon,\n rightIcon,\n value,\n onMouseDragStart,\n onMouseDragEnd,\n takeContentWidth,\n ...rest\n } = props;\n\n const { focused, blinking } = this.state;\n\n const leftSide = this.renderLeftSide();\n const rightSide = this.renderRightSide();\n\n const className = cx(styles.root(), jsInputStyles.root(this.theme), this.getSizeClassName(), {\n [jsInputStyles.disabled(this.theme)]: !!disabled,\n [jsInputStyles.borderless()]: !!borderless,\n [jsInputStyles.focus(this.theme)]: focused,\n [jsInputStyles.blink(this.theme)]: blinking,\n [jsInputStyles.warning(this.theme)]: !!warning,\n [jsInputStyles.error(this.theme)]: !!error,\n [jsInputStyles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [jsInputStyles.warningFallback(this.theme)]: !!warning && (isIE11 || isEdge),\n [jsInputStyles.errorFallback(this.theme)]: !!error && (isIE11 || isEdge),\n [jsInputStyles.hideBlinkingCursor()]: isMobile,\n });\n\n const wrapperClass = cx(jsInputStyles.wrapper(), {\n [styles.userSelectContain()]: focused,\n });\n\n return (\n <span\n {...rest}\n className={className}\n style={{ width, textAlign: align }}\n tabIndex={disabled ? undefined : 0}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.innerRef}\n onKeyDown={this.handleKeyDown}\n onMouseDown={this.handleMouseDown}\n >\n <input type=\"hidden\" value={value} />\n {leftSide}\n <span className={wrapperClass}>\n <span\n data-tid=\"InputLikeText__input\"\n className={cx(jsInputStyles.input(this.theme), {\n [styles.absolute()]: !takeContentWidth,\n [jsInputStyles.inputFocus(this.theme)]: focused,\n [jsInputStyles.inputDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.children}\n </span>\n {this.renderPlaceholder()}\n </span>\n {rightSide}\n {isIE11 && focused && <HiddenInput nodeRef={this.hiddenInputRef} />}\n </span>\n );\n };\n\n private getIconClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? jsInputStyles.rightIconLarge(this.theme) : jsInputStyles.leftIconLarge(this.theme);\n case 'medium':\n return right ? jsInputStyles.rightIconMedium(this.theme) : jsInputStyles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? jsInputStyles.rightIconSmall(this.theme) : jsInputStyles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon = () => {\n return this.renderIcon(this.props.leftIcon, this.getIconClassname());\n };\n\n private renderRightIcon = () => {\n return this.renderIcon(this.props.rightIcon, this.getIconClassname(true));\n };\n\n private renderIcon = (icon: InputIconType, className: string): JSX.Element | null => {\n if (!icon) {\n return null;\n }\n\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(jsInputStyles.icon(), className, jsInputStyles.useDefaultColor(this.theme), {\n [jsInputStyles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n };\n\n private renderPrefix = (): JSX.Element | null => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.prefix(this.theme), { [jsInputStyles.prefixDisabled(this.theme)]: disabled })}>\n {prefix}\n </span>\n );\n };\n\n private renderSuffix = (): JSX.Element | null => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.suffix(this.theme), { [jsInputStyles.suffixDisabled(this.theme)]: disabled })}>\n {suffix}\n </span>\n );\n };\n\n private renderLeftSide = (): JSX.Element | null => {\n const leftIcon = this.renderLeftIcon();\n const prefix = this.renderPrefix();\n\n if (!leftIcon && !prefix) {\n return null;\n }\n\n return (\n <span className={jsInputStyles.sideContainer()}>\n {leftIcon}\n {prefix}\n </span>\n );\n };\n\n private renderRightSide = (): JSX.Element | null => {\n const rightIcon = this.renderRightIcon();\n const suffix = this.renderSuffix();\n\n if (!rightIcon && !suffix) {\n return null;\n }\n\n return (\n <span className={cx(jsInputStyles.sideContainer(), jsInputStyles.rightContainer())}>\n {rightIcon}\n {suffix}\n </span>\n );\n };\n\n private renderPlaceholder = (): JSX.Element | null => {\n const { children, placeholder, disabled } = this.props;\n const { focused } = this.state;\n const hasValue = isNonNullable(children) && children !== '';\n\n if (!hasValue && placeholder) {\n return (\n <span\n className={cx(jsInputStyles.placeholder(this.theme), {\n [jsInputStyles.placeholderDisabled(this.theme)]: disabled,\n [jsInputStyles.placeholderFocus(this.theme)]: focused,\n })}\n >\n {placeholder}\n </span>\n );\n }\n return null;\n };\n\n private handleDocumentMouseDown = (e: MouseEvent) => {\n if (this.state.focused && this.node && e.target instanceof Node && !this.node.contains(e.target)) {\n this.defrost();\n }\n };\n\n private handleDocumentKeyDown = (e: KeyboardEvent) => {\n if (this.state.focused && isKeyTab(e)) {\n this.defrost();\n }\n };\n\n private handleMouseDown = () => {\n this.frozen = true;\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.props.disabled) {\n return;\n }\n\n if (isIE11 && isShortcutPaste(e) && this.hiddenInput) {\n this.frozen = true;\n setTimeout(() => {\n if (this.lastSelectedInnerNode) {\n this.selectInnerNode(...this.lastSelectedInnerNode);\n }\n if (this.node) {\n this.node.focus();\n }\n }, 0);\n\n this.hiddenInput.focus();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e as React.KeyboardEvent<HTMLInputElement>);\n }\n };\n\n private handleMouseDragStart: MouseDragEventHandler = (e) => {\n this.dragging = true;\n document.documentElement.classList.add(styles.userSelectNone());\n\n if (this.props.onMouseDragStart) {\n this.props.onMouseDragStart(e);\n }\n };\n\n private handleMouseDragEnd: MouseDragEventHandler = (e) => {\n // Дожидаемся onMouseUp\n setTimeout(() => {\n this.dragging = false;\n\n if (this.props.onMouseDragEnd) {\n this.props.onMouseDragEnd(e);\n }\n }, 0);\n\n document.documentElement.classList.remove(styles.userSelectNone());\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.setAttribute('contenteditable', 'true');\n }\n\n if (this.props.disabled) {\n if (isIE11) {\n selectNodeContents(document.body, 0, 0);\n }\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozen) {\n this.frozen = false;\n if (this.state.focused) {\n return;\n }\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n if (isMobile) {\n e.target.removeAttribute('contenteditable');\n }\n\n if (this.props.disabled) {\n e.stopPropagation();\n return;\n }\n\n if ((isIE11 || isEdge) && this.frozenBlur) {\n this.frozenBlur = false;\n return;\n }\n if ((isIE11 || isEdge) && this.frozen) {\n return;\n }\n\n removeAllSelections();\n\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n private hiddenInputRef = (el: HTMLInputElement | null) => {\n this.hiddenInput = el;\n };\n\n private innerRef = (el: HTMLElement | null) => {\n if (this.props.innerRef) {\n this.props.innerRef(el);\n }\n this.node = el;\n };\n\n private defrost = (): void => {\n this.frozen = false;\n this.frozenBlur = false;\n };\n\n private getSizeClassName = () => {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [jsInputStyles.sizeLarge(this.theme)]: true,\n [jsInputStyles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [jsInputStyles.sizeMedium(this.theme)]: true,\n [jsInputStyles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [jsInputStyles.sizeSmall(this.theme)]: true,\n [jsInputStyles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n };\n}\n"]}
@@ -12,10 +12,6 @@ export interface InputLikeTextProps extends CommonProps, InputProps {
12
12
  takeContentWidth?: boolean;
13
13
  }
14
14
  export declare type InputLikeTextState = Omit<InputState, 'needsPolyfillPlaceholder'>;
15
- export declare const InputLikeTextDataTids: {
16
- readonly root: "InputLikeText__root";
17
- readonly input: "InputLikeText__input";
18
- };
19
15
  declare type DefaultProps = Required<Pick<InputLikeTextProps, 'size'>>;
20
16
  export declare class InputLikeText extends React.Component<InputLikeTextProps, InputLikeTextState> {
21
17
  static __KONTUR_REACT_UI__: string;
@@ -19,9 +19,6 @@ import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
19
19
  import { styles } from "../InternalMenu.styles";
20
20
  import { isActiveElement } from "../isActiveElement";
21
21
  import { addIconPaddingIfPartOfMenu } from "../addIconPaddingIfPartOfMenu";
22
- export var InternalMenuDataTids = {
23
- root: 'InternalMenu__root'
24
- };
25
22
  export var InternalMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
26
23
  _inheritsLoose(InternalMenu, _React$PureComponent);
27
24
 
@@ -255,7 +252,6 @@ export var InternalMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/func
255
252
  preventWindowScroll = _this$getProps.preventWindowScroll;
256
253
 
257
254
  return /*#__PURE__*/React.createElement("div", {
258
- "data-tid": InternalMenuDataTids.root,
259
255
  className: cx((_cx3 = {}, _cx3[styles.root(this.theme)] = true, _cx3[styles.shadow(this.theme)] = hasShadow, _cx3)),
260
256
  style: {
261
257
  width: width,
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalMenu.tsx"],"names":["React","isHTMLElement","isNonNullable","isNullable","isKeyArrowDown","isKeyArrowUp","isKeyEnter","ScrollContainer","isMenuItem","createPropsGetter","ThemeContext","cx","getRootNode","rootNode","getDOMRect","MenuSeparator","ThemeFactory","styles","isActiveElement","addIconPaddingIfPartOfMenu","InternalMenuDataTids","root","InternalMenu","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","renderHeader","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","create","menuSeparatorMarginY","focusOnRootElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollContainer","scrollToSelected","highlighted","HTMLElement","scrollTo","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","render","renderMain","enableIconPadding","toArray","some","x","isValidElement","icon","isEmpty","hasShadow","width","preventWindowScroll","shadow","setRootNode","map","child","type","modifiedChild","highlight","ref","originalRef","menuItem","refHighlighted","cloneElement","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","cyclicSelection","length","filter","PureComponent","__KONTUR_REACT_UI__","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isHTMLElement } from '../../lib/SSRSafe';\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\nimport { addIconPaddingIfPartOfMenu } from './addIconPaddingIfPartOfMenu';\n\ninterface MenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\nexport const InternalMenuDataTids = {\n root: 'InternalMenu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'\n >\n>;\n\n@rootNode\nexport class InternalMenu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n\n public static defaultProps: DefaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\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 renderMain() {\n const enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, width, maxHeight, preventWindowScroll } = this.getProps();\n\n return (\n <div\n data-tid={InternalMenuDataTids.root}\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow,\n })}\n style={{\n width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseEnter) {\n modifiedChild.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseLeave) {\n modifiedChild.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return modifiedChild;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isHTMLElement(rootNode)) {\n rootNode?.focus();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {\n const rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (rootNode instanceof HTMLElement) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n\n const rootNode = getRootNode(this);\n if (isHTMLElement(rootNode)) {\n rootNode?.focus();\n }\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
1
+ {"version":3,"sources":["InternalMenu.tsx"],"names":["React","isHTMLElement","isNonNullable","isNullable","isKeyArrowDown","isKeyArrowUp","isKeyEnter","ScrollContainer","isMenuItem","createPropsGetter","ThemeContext","cx","getRootNode","rootNode","getDOMRect","MenuSeparator","ThemeFactory","styles","isActiveElement","addIconPaddingIfPartOfMenu","InternalMenu","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","renderHeader","wrapper","headerWrapper","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","footerWrapper","footer","create","menuSeparatorMarginY","focusOnRootElement","focus","shouldRecalculateMaxHeight","prevProps","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","window","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","setInitialSelection","i","initialSelectedItemIndex","moveDown","refScrollContainer","scrollContainer","scrollToSelected","highlighted","HTMLElement","scrollTo","highlightItem","index","unhighlight","moveUp","move","handleKeyDown","e","onKeyDown","defaultPrevented","preventDefault","onClick","handleScrollStateChange","componentDidMount","componentDidUpdate","render","renderMain","enableIconPadding","toArray","some","x","isValidElement","icon","isEmpty","hasShadow","width","preventWindowScroll","root","shadow","setRootNode","map","child","type","modifiedChild","highlight","ref","originalRef","menuItem","refHighlighted","cloneElement","select","bind","onMouseEnter","event","onMouseLeave","current","shouldHandleHref","item","childrenToArray","href","target","open","location","onItemClick","step","cyclicSelection","length","filter","PureComponent","__KONTUR_REACT_UI__","ret","forEach","push"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isHTMLElement } from '../../lib/SSRSafe';\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { ScrollContainer, ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { isMenuItem, MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\n\nimport { styles } from './InternalMenu.styles';\nimport { isActiveElement } from './isActiveElement';\nimport { addIconPaddingIfPartOfMenu } from './addIconPaddingIfPartOfMenu';\n\ninterface MenuProps {\n children?: React.ReactNode;\n hasShadow?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n\n // Циклический перебор айтемов меню (по-дефолтну включен)\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\ninterface MenuState {\n highlightedIndex: number;\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n}\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'\n >\n>;\n\n@rootNode\nexport class InternalMenu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'InternalMenu';\n\n public static defaultProps: DefaultProps = {\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(InternalMenu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\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 renderMain() {\n const enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, width, maxHeight, preventWindowScroll } = this.getProps();\n\n return (\n <div\n className={cx({\n [styles.root(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow,\n })}\n style={{\n width,\n maxHeight: this.state.maxHeight,\n }}\n onKeyDown={this.handleKeyDown}\n ref={this.setRootNode}\n tabIndex={0}\n >\n {this.props.header ? this.renderHeader() : null}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n >\n {React.Children.map(this.props.children, (child, index) => {\n if (typeof child === 'string' || typeof child === 'number' || isNullable(child)) {\n return child;\n }\n if (React.isValidElement(child) && typeof child.type === 'string') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n const originalRef = ref;\n if (highlight) {\n ref = (menuItem) => this.refHighlighted(originalRef, menuItem);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: (event) => {\n this.highlightItem(index);\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseEnter) {\n modifiedChild.props.onMouseEnter(event);\n }\n },\n onMouseLeave: (event) => {\n this.unhighlight();\n if (isMenuItem(modifiedChild) && modifiedChild.props.onMouseLeave) {\n modifiedChild.props.onMouseLeave(event);\n }\n },\n });\n }\n\n return modifiedChild;\n })}\n </ScrollContainer>\n {this.props.footer ? this.renderFooter() : null}\n </div>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isHTMLElement(rootNode)) {\n rootNode?.focus();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {\n const rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.moveDown();\n }\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: string | ((instance: MenuItem | null) => void) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (!originalRef || typeof originalRef === 'string') {\n return;\n }\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n } else if (typeof originalRef === 'object') {\n // @ts-expect-error: See: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065.\n originalRef.current = menuItem;\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (rootNode instanceof HTMLElement) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event as React.MouseEvent<HTMLElement>);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick(event);\n }\n return true;\n }\n return false;\n }\n\n private highlightItem = (index: number): void => {\n this.setState({ highlightedIndex: index });\n\n const rootNode = getRootNode(this);\n if (isHTMLElement(rootNode)) {\n rootNode?.focus();\n }\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n this.setState((state, props) => {\n const children = childrenToArray(props.children);\n if (!children.some(isActiveElement)) {\n return null;\n }\n let index = state.highlightedIndex;\n do {\n index += step;\n if (!this.getProps().cyclicSelection && (index < 0 || index > children.length)) {\n return null;\n }\n\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n return { highlightedIndex: index };\n }\n } while (index !== state.highlightedIndex);\n return null;\n }, this.scrollToSelected);\n }\n\n private moveUp = () => {\n this.move(-1);\n };\n\n private moveDown = () => {\n this.move(1);\n };\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(e);\n }\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(e)) {\n e.preventDefault();\n this.moveUp();\n } else if (isKeyArrowDown(e)) {\n e.preventDefault();\n this.moveDown();\n } else if (isKeyEnter(e)) {\n if (this.highlighted && this.highlighted.props.onClick) {\n this.highlighted.props.onClick(e);\n }\n }\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n"]}
@@ -23,9 +23,6 @@ interface MenuState {
23
23
  maxHeight: number | string;
24
24
  scrollState: ScrollContainerScrollState;
25
25
  }
26
- export declare const InternalMenuDataTids: {
27
- readonly root: "InternalMenu__root";
28
- };
29
26
  declare type DefaultProps = Required<Pick<MenuProps, 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'>>;
30
27
  export declare class InternalMenu extends React.PureComponent<MenuProps, MenuState> {
31
28
  static __KONTUR_REACT_UI__: string;
@@ -5,7 +5,7 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
5
5
  import { css, memoizeStyle } from "../../../lib/theming/Emotion";
6
6
  export var styles = memoizeStyle({
7
7
  root: function root(t) {
8
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n padding: ", " ", ";\n outline: none;\n box-sizing: content-box;\n background: ", ";\n "])), t.internalMenuPaddingY, t.menuPaddingX, t.bgSecondary);
8
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n padding: 5px ", ";\n outline: none;\n box-sizing: content-box;\n background: ", ";\n "])), t.menuPaddingX, t.bgSecondary);
9
9
  },
10
10
  shadow: function shadow(t) {
11
11
  return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n border: ", ";\n box-shadow: ", ";\n "])), t.menuBorder, t.menuShadow);
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalMenu.styles.ts"],"names":["css","memoizeStyle","styles","root","t","internalMenuPaddingY","menuPaddingX","bgSecondary","shadow","menuBorder","menuShadow","wrapper","headerWrapper","footerWrapper","contentWrapper","menuSeparatorWrapper","menuSeparatorBorderWidth"],"mappings":"gOAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,WAAOJ,GAAP;AACaI,IAAAA,CAAC,CAACC,oBADf,EACuCD,CAAC,CAACE,YADzC;;;AAIgBF,IAAAA,CAAC,CAACG,WAJlB;;AAMD,GARgC;;AAUjCC,EAAAA,MAViC,kBAU1BJ,CAV0B,EAUhB;AACf,WAAOJ,GAAP;AACYI,IAAAA,CAAC,CAACK,UADd;AAEgBL,IAAAA,CAAC,CAACM,UAFlB;;AAID,GAfgC;;AAiBjCC,EAAAA,OAjBiC,qBAiBvB;AACR,WAAOX,GAAP;;;;;;;;AAQD,GA1BgC;;AA4BjCY,EAAAA,aA5BiC,2BA4BjB;AACd,WAAOZ,GAAP;;;AAGD,GAhCgC;;AAkCjCa,EAAAA,aAlCiC,2BAkCjB;AACd,WAAOb,GAAP;;;AAGD,GAtCgC;;AAwCjCc,EAAAA,cAxCiC,4BAwChB;AACf,WAAOd,GAAP;;;AAGD,GA5CgC;;AA8CjCe,EAAAA,oBA9CiC,gCA8CZX,CA9CY,EA8CF;AAC7B,WAAOJ,GAAP;AACYI,IAAAA,CAAC,CAACY,wBADd;;AAGD,GAlDgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n padding: ${t.internalMenuPaddingY} ${t.menuPaddingX};\n outline: none;\n box-sizing: content-box;\n background: ${t.bgSecondary};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n border: ${t.menuBorder};\n box-shadow: ${t.menuShadow};\n `;\n },\n\n wrapper() {\n return css`\n position: relative;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n line-height: 18px;\n box-sizing: border-box;\n `;\n },\n\n headerWrapper() {\n return css`\n top: -5px;\n `;\n },\n\n footerWrapper() {\n return css`\n bottom: -5px;\n `;\n },\n\n contentWrapper() {\n return css`\n padding: 6px 18px 7px 8px;\n `;\n },\n\n menuSeparatorWrapper(t: Theme) {\n return css`\n height: ${t.menuSeparatorBorderWidth};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["InternalMenu.styles.ts"],"names":["css","memoizeStyle","styles","root","t","menuPaddingX","bgSecondary","shadow","menuBorder","menuShadow","wrapper","headerWrapper","footerWrapper","contentWrapper","menuSeparatorWrapper","menuSeparatorBorderWidth"],"mappings":"gOAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,WAAOJ,GAAP;AACiBI,IAAAA,CAAC,CAACC,YADnB;;;AAIgBD,IAAAA,CAAC,CAACE,WAJlB;;AAMD,GARgC;;AAUjCC,EAAAA,MAViC,kBAU1BH,CAV0B,EAUhB;AACf,WAAOJ,GAAP;AACYI,IAAAA,CAAC,CAACI,UADd;AAEgBJ,IAAAA,CAAC,CAACK,UAFlB;;AAID,GAfgC;;AAiBjCC,EAAAA,OAjBiC,qBAiBvB;AACR,WAAOV,GAAP;;;;;;;;AAQD,GA1BgC;;AA4BjCW,EAAAA,aA5BiC,2BA4BjB;AACd,WAAOX,GAAP;;;AAGD,GAhCgC;;AAkCjCY,EAAAA,aAlCiC,2BAkCjB;AACd,WAAOZ,GAAP;;;AAGD,GAtCgC;;AAwCjCa,EAAAA,cAxCiC,4BAwChB;AACf,WAAOb,GAAP;;;AAGD,GA5CgC;;AA8CjCc,EAAAA,oBA9CiC,gCA8CZV,CA9CY,EA8CF;AAC7B,WAAOJ,GAAP;AACYI,IAAAA,CAAC,CAACW,wBADd;;AAGD,GAlDgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n padding: 5px ${t.menuPaddingX};\n outline: none;\n box-sizing: content-box;\n background: ${t.bgSecondary};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n border: ${t.menuBorder};\n box-shadow: ${t.menuShadow};\n `;\n },\n\n wrapper() {\n return css`\n position: relative;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n line-height: 18px;\n box-sizing: border-box;\n `;\n },\n\n headerWrapper() {\n return css`\n top: -5px;\n `;\n },\n\n footerWrapper() {\n return css`\n bottom: -5px;\n `;\n },\n\n contentWrapper() {\n return css`\n padding: 6px 18px 7px 8px;\n `;\n },\n\n menuSeparatorWrapper(t: Theme) {\n return css`\n height: ${t.menuSeparatorBorderWidth};\n `;\n },\n});\n"]}
@@ -13,9 +13,6 @@ import { MaskCharLowLine } from "../../MaskCharLowLine";
13
13
  import { cx } from "../../../lib/theming/Emotion";
14
14
  import { createPropsGetter } from "../../../lib/createPropsGetter";
15
15
  import { styles } from "../MaskedInput.styles";
16
- export var MaskedInputDataTids = {
17
- root: 'MaskedInput__root'
18
- };
19
16
  export var MaskedInput = /*#__PURE__*/function (_React$PureComponent) {
20
17
  _inheritsLoose(MaskedInput, _React$PureComponent);
21
18
 
@@ -190,7 +187,6 @@ export var MaskedInput = /*#__PURE__*/function (_React$PureComponent) {
190
187
  }) : _char;
191
188
  });
192
189
  return /*#__PURE__*/React.createElement("span", {
193
- "data-tid": MaskedInputDataTids.root,
194
190
  className: styles.container(),
195
191
  "x-ms-format-detection": "none"
196
192
  }, /*#__PURE__*/React.createElement(ReactInputMask, _extends({}, inputProps, {
@@ -1 +1 @@
1
- {"version":3,"sources":["MaskedInput.tsx"],"names":["React","ReactInputMask","isNonNullable","ThemeContext","MaskCharLowLine","cx","createPropsGetter","styles","MaskedInputDataTids","root","MaskedInput","props","getProps","defaultProps","input","reactInputMask","getValue","value","toString","defaultValue","refInput","refMaskedInput","handleChange","event","target","state","handleUnexpectedInput","setState","originValue","onValueChange","onChange","handleFocus","focused","onFocus","handleBlur","onBlur","preprocess","newState","oldState","userInput","options","visibleMaskChars","Array","mask","length","fill","maskChar","split","forEach","char","index","permanents","includes","emptyValue","join","isMaskVisible","alwaysShowMask","onUnexpectedInput","componentDidMount","forceUpdate","componentDidUpdate","prevProps","render","theme","renderMain","hasLeftIcon","hasRightIcon","maxLength","style","inputProps","leftHelper","textAlign","color","slice","leftClass","inputMaskLeft","rightHelper","map","_char","i","container","inputMask","PureComponent","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport ReactInputMask, { InputState, MaskOptions } from 'react-input-mask';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MaskCharLowLine } from '../MaskCharLowLine';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './MaskedInput.styles';\n\nexport interface MaskedInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n mask: string;\n maskChar?: string | null;\n formatChars?: { [key: string]: string };\n alwaysShowMask?: boolean;\n hasLeftIcon?: boolean;\n hasRightIcon?: boolean;\n onUnexpectedInput?: (value: string) => void;\n onValueChange?: (value: string) => void;\n}\n\ninterface MaskedInputState {\n value: string;\n\n // Users can unmask value themselves. In these cases we take origin value length\n originValue: string;\n\n emptyValue: string;\n focused: boolean;\n}\n\ntype DefaultProps = Required<Pick<MaskedInputProps, 'maskChar'>>;\n\nexport const MaskedInputDataTids = {\n root: 'MaskedInput__root',\n} as const;\n\nexport class MaskedInput extends React.PureComponent<MaskedInputProps, MaskedInputState> {\n public static __KONTUR_REACT_UI__ = 'MaskedInput';\n\n public static defaultProps: DefaultProps = {\n maskChar: '_',\n };\n\n private getProps = createPropsGetter(MaskedInput.defaultProps);\n\n public input: HTMLInputElement | null = null;\n private theme!: Theme;\n private reactInputMask: ReactInputMask | null = null;\n\n public constructor(props: MaskedInputProps) {\n super(props);\n\n this.state = {\n value: this.getValue(props),\n originValue: this.getValue(props),\n emptyValue: '',\n focused: false,\n };\n }\n\n public componentDidMount() {\n if (this.reactInputMask) {\n // FIXME: принудительно вызываем beforeMaskedValueChange, чтобы получить emptyValue\n this.reactInputMask.forceUpdate();\n }\n }\n\n public componentDidUpdate(prevProps: MaskedInputProps) {\n if (this.props.value !== prevProps.value) {\n this.setState({\n value: this.props.value ? this.props.value.toString() : '',\n });\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 renderMain() {\n const {\n maskChar,\n alwaysShowMask,\n hasLeftIcon,\n hasRightIcon,\n maxLength,\n onValueChange,\n onUnexpectedInput,\n defaultValue,\n style,\n ...inputProps\n } = this.props;\n const { emptyValue, value, originValue } = this.state;\n\n const leftHelper = style?.textAlign !== 'right' && (\n <span style={{ color: 'transparent' }}>{emptyValue.slice(0, originValue.length)}</span>\n );\n const leftClass = style?.textAlign !== 'right' && styles.inputMaskLeft();\n\n const rightHelper = emptyValue\n .slice(originValue.length)\n .split('')\n .map((_char, i) => (_char === '_' ? <MaskCharLowLine key={i} /> : _char));\n\n return (\n <span data-tid={MaskedInputDataTids.root} className={styles.container()} x-ms-format-detection=\"none\">\n <ReactInputMask\n {...inputProps}\n maskChar={null}\n beforeMaskedValueChange={this.preprocess}\n alwaysShowMask={false}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n value={value}\n inputRef={this.refInput}\n ref={this.refMaskedInput}\n style={{ ...style }}\n />\n {this.isMaskVisible() && (\n <span className={cx(styles.inputMask(this.theme), leftClass)}>\n {leftHelper}\n {rightHelper}\n </span>\n )}\n </span>\n );\n }\n\n private getValue = (props: MaskedInputProps): string => {\n if (isNonNullable(props.value)) {\n return props.value.toString();\n }\n\n if (isNonNullable(props.defaultValue)) {\n return props.defaultValue.toString();\n }\n\n return '';\n };\n\n private refInput = (input: HTMLInputElement | null) => {\n this.input = input;\n };\n\n private refMaskedInput = (reactInputMask: ReactInputMask) => {\n this.reactInputMask = reactInputMask;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value === this.state.value) {\n this.handleUnexpectedInput();\n } else {\n this.setState({ value: event.target.value, originValue: event.target.value });\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private preprocess = (\n newState: InputState,\n oldState: InputState,\n userInput: string,\n options: MaskOptions & Pick<MaskedInputProps, 'mask'>,\n ) => {\n const visibleMaskChars = new Array(options.mask.length).fill(this.getProps().maskChar);\n\n if (newState.value !== oldState.value && userInput === null) {\n this.setState({\n value: newState.value,\n originValue: newState.value,\n });\n }\n\n options.mask.split('').forEach((char: string, index: number) => {\n if (options.permanents.includes(index)) {\n visibleMaskChars[index] = char;\n }\n\n if (newState.value[index]) {\n visibleMaskChars[index] = newState.value[index];\n }\n });\n\n const emptyValue = visibleMaskChars.join('');\n\n if (this.state.emptyValue !== emptyValue) {\n this.setState({\n emptyValue,\n });\n }\n\n return newState;\n };\n\n private isMaskVisible = () => this.props.alwaysShowMask || this.state.focused;\n\n private handleUnexpectedInput = () => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(this.state.value);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["MaskedInput.tsx"],"names":["React","ReactInputMask","isNonNullable","ThemeContext","MaskCharLowLine","cx","createPropsGetter","styles","MaskedInput","props","getProps","defaultProps","input","reactInputMask","getValue","value","toString","defaultValue","refInput","refMaskedInput","handleChange","event","target","state","handleUnexpectedInput","setState","originValue","onValueChange","onChange","handleFocus","focused","onFocus","handleBlur","onBlur","preprocess","newState","oldState","userInput","options","visibleMaskChars","Array","mask","length","fill","maskChar","split","forEach","char","index","permanents","includes","emptyValue","join","isMaskVisible","alwaysShowMask","onUnexpectedInput","componentDidMount","forceUpdate","componentDidUpdate","prevProps","render","theme","renderMain","hasLeftIcon","hasRightIcon","maxLength","style","inputProps","leftHelper","textAlign","color","slice","leftClass","inputMaskLeft","rightHelper","map","_char","i","container","inputMask","PureComponent","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport ReactInputMask, { InputState, MaskOptions } from 'react-input-mask';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MaskCharLowLine } from '../MaskCharLowLine';\nimport { cx } from '../../lib/theming/Emotion';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './MaskedInput.styles';\n\nexport interface MaskedInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n mask: string;\n maskChar?: string | null;\n formatChars?: { [key: string]: string };\n alwaysShowMask?: boolean;\n hasLeftIcon?: boolean;\n hasRightIcon?: boolean;\n onUnexpectedInput?: (value: string) => void;\n onValueChange?: (value: string) => void;\n}\n\ninterface MaskedInputState {\n value: string;\n\n // Users can unmask value themselves. In these cases we take origin value length\n originValue: string;\n\n emptyValue: string;\n focused: boolean;\n}\n\ntype DefaultProps = Required<Pick<MaskedInputProps, 'maskChar'>>;\n\nexport class MaskedInput extends React.PureComponent<MaskedInputProps, MaskedInputState> {\n public static __KONTUR_REACT_UI__ = 'MaskedInput';\n\n public static defaultProps: DefaultProps = {\n maskChar: '_',\n };\n\n private getProps = createPropsGetter(MaskedInput.defaultProps);\n\n public input: HTMLInputElement | null = null;\n private theme!: Theme;\n private reactInputMask: ReactInputMask | null = null;\n\n public constructor(props: MaskedInputProps) {\n super(props);\n\n this.state = {\n value: this.getValue(props),\n originValue: this.getValue(props),\n emptyValue: '',\n focused: false,\n };\n }\n\n public componentDidMount() {\n if (this.reactInputMask) {\n // FIXME: принудительно вызываем beforeMaskedValueChange, чтобы получить emptyValue\n this.reactInputMask.forceUpdate();\n }\n }\n\n public componentDidUpdate(prevProps: MaskedInputProps) {\n if (this.props.value !== prevProps.value) {\n this.setState({\n value: this.props.value ? this.props.value.toString() : '',\n });\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 renderMain() {\n const {\n maskChar,\n alwaysShowMask,\n hasLeftIcon,\n hasRightIcon,\n maxLength,\n onValueChange,\n onUnexpectedInput,\n defaultValue,\n style,\n ...inputProps\n } = this.props;\n const { emptyValue, value, originValue } = this.state;\n\n const leftHelper = style?.textAlign !== 'right' && (\n <span style={{ color: 'transparent' }}>{emptyValue.slice(0, originValue.length)}</span>\n );\n const leftClass = style?.textAlign !== 'right' && styles.inputMaskLeft();\n\n const rightHelper = emptyValue\n .slice(originValue.length)\n .split('')\n .map((_char, i) => (_char === '_' ? <MaskCharLowLine key={i} /> : _char));\n\n return (\n <span className={styles.container()} x-ms-format-detection=\"none\">\n <ReactInputMask\n {...inputProps}\n maskChar={null}\n beforeMaskedValueChange={this.preprocess}\n alwaysShowMask={false}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n value={value}\n inputRef={this.refInput}\n ref={this.refMaskedInput}\n style={{ ...style }}\n />\n {this.isMaskVisible() && (\n <span className={cx(styles.inputMask(this.theme), leftClass)}>\n {leftHelper}\n {rightHelper}\n </span>\n )}\n </span>\n );\n }\n\n private getValue = (props: MaskedInputProps): string => {\n if (isNonNullable(props.value)) {\n return props.value.toString();\n }\n\n if (isNonNullable(props.defaultValue)) {\n return props.defaultValue.toString();\n }\n\n return '';\n };\n\n private refInput = (input: HTMLInputElement | null) => {\n this.input = input;\n };\n\n private refMaskedInput = (reactInputMask: ReactInputMask) => {\n this.reactInputMask = reactInputMask;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (event.target.value === this.state.value) {\n this.handleUnexpectedInput();\n } else {\n this.setState({ value: event.target.value, originValue: event.target.value });\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private preprocess = (\n newState: InputState,\n oldState: InputState,\n userInput: string,\n options: MaskOptions & Pick<MaskedInputProps, 'mask'>,\n ) => {\n const visibleMaskChars = new Array(options.mask.length).fill(this.getProps().maskChar);\n\n if (newState.value !== oldState.value && userInput === null) {\n this.setState({\n value: newState.value,\n originValue: newState.value,\n });\n }\n\n options.mask.split('').forEach((char: string, index: number) => {\n if (options.permanents.includes(index)) {\n visibleMaskChars[index] = char;\n }\n\n if (newState.value[index]) {\n visibleMaskChars[index] = newState.value[index];\n }\n });\n\n const emptyValue = visibleMaskChars.join('');\n\n if (this.state.emptyValue !== emptyValue) {\n this.setState({\n emptyValue,\n });\n }\n\n return newState;\n };\n\n private isMaskVisible = () => this.props.alwaysShowMask || this.state.focused;\n\n private handleUnexpectedInput = () => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(this.state.value);\n }\n };\n}\n"]}
@@ -18,9 +18,6 @@ interface MaskedInputState {
18
18
  focused: boolean;
19
19
  }
20
20
  declare type DefaultProps = Required<Pick<MaskedInputProps, 'maskChar'>>;
21
- export declare const MaskedInputDataTids: {
22
- readonly root: "MaskedInput__root";
23
- };
24
21
  export declare class MaskedInput extends React.PureComponent<MaskedInputProps, MaskedInputState> {
25
22
  static __KONTUR_REACT_UI__: string;
26
23
  static defaultProps: DefaultProps;
@@ -12,12 +12,8 @@ import { getRootNode, rootNode } from "../../../lib/rootNode";
12
12
  import { addIconPaddingIfPartOfMenu } from "../../InternalMenu/addIconPaddingIfPartOfMenu";
13
13
  import { isIE11 } from "../../../lib/client";
14
14
  import { createPropsGetter } from "../../../lib/createPropsGetter";
15
- import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
16
15
  import { styles } from "../Menu.styles";
17
16
  import { isActiveElement } from "../isActiveElement";
18
- export var MenuDataTids = {
19
- root: 'Menu__root'
20
- };
21
17
  export var Menu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
22
18
  _inheritsLoose(Menu, _React$Component);
23
19
 
@@ -186,13 +182,7 @@ export var Menu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_R
186
182
  maxHeight = _this$getProps.maxHeight,
187
183
  preventWindowScroll = _this$getProps.preventWindowScroll;
188
184
 
189
- var offsetY = isTheme2022(this.theme) ? {
190
- top: 4,
191
- right: 0,
192
- bottom: 4
193
- } : {};
194
185
  return /*#__PURE__*/React.createElement("div", {
195
- "data-tid": MenuDataTids.root,
196
186
  className: cx(getAlignRightClass(this.props), (_cx = {}, _cx[styles.root(this.theme)] = true, _cx[styles.shadow(this.theme)] = hasShadow, _cx)),
197
187
  style: getStyle(this.props),
198
188
  ref: this.setRootNode
@@ -200,8 +190,7 @@ export var Menu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_R
200
190
  ref: this.refScrollContainer,
201
191
  maxHeight: maxHeight,
202
192
  preventWindowScroll: preventWindowScroll,
203
- disabled: this.props.disableScrollContainer,
204
- offsetY: offsetY
193
+ disabled: this.props.disableScrollContainer
205
194
  }, /*#__PURE__*/React.createElement("div", {
206
195
  className: styles.scrollContainer(this.theme)
207
196
  }, this.getChildList())));
@@ -1 +1 @@
1
- {"version":3,"sources":["Menu.tsx"],"names":["React","isNonNullable","ScrollContainer","ThemeContext","cx","getRootNode","rootNode","addIconPaddingIfPartOfMenu","isIE11","createPropsGetter","isTheme2022","styles","isActiveElement","MenuDataTids","root","Menu","getProps","defaultProps","state","highlightedIndex","unmounted","getChildList","enableIconPadding","Children","toArray","props","children","some","x","isValidElement","icon","map","child","index","modifiedChild","highlight","ref","refHighlighted","bind","cloneElement","onClick","select","onMouseEnter","onMouseLeave","unhighlight","refScrollContainer","scrollContainer","scrollToSelected","highlighted","HTMLElement","scrollTo","scrollToTop","scrollToBottom","setState","componentWillUnmount","render","theme","renderMain","up","move","down","enter","event","reset","hasHighlightedItem","highlightItem","isEmpty","hasShadow","maxHeight","preventWindowScroll","offsetY","top","right","bottom","getAlignRightClass","shadow","getStyle","setRootNode","disableScrollContainer","originalRef","menuItem","shouldHandleHref","item","childrenToArray","href","target","window","open","location","onItemClick","step","activeElements","filter","length","indexOf","Component","__KONTUR_REACT_UI__","align","width","ret","forEach","push","maxWidth","minWidth","alignRight","alignRightIE11","alignRightIE11FixAutoWidth"],"mappings":"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","sourcesContent":["import React, { CSSProperties } from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport { MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { addIconPaddingIfPartOfMenu } from '../InternalMenu/addIconPaddingIfPartOfMenu';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Menu.styles';\nimport { isActiveElement } from './isActiveElement';\n\nexport interface MenuProps {\n children: React.ReactNode;\n hasShadow?: boolean;\n maxHeight?: number | string;\n onItemClick?: () => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n}\n\nexport interface MenuState {\n highlightedIndex: number;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<MenuProps, 'align' | 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll'>>;\n\n@rootNode\nexport class Menu extends React.Component<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state = {\n highlightedIndex: -1,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private unmounted = false;\n private setRootNode!: TSetRootNode;\n\n public componentWillUnmount() {\n this.unmounted = true;\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 /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n return this.select(this.state.highlightedIndex, true, event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.setState({ highlightedIndex: -1 });\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return this.state.highlightedIndex !== -1;\n }\n\n public highlightItem(index: number) {\n this.highlight(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = isTheme2022(this.theme)\n ? {\n top: 4,\n right: 0,\n bottom: 4,\n }\n : {};\n\n return (\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow,\n })}\n style={getStyle(this.props)}\n ref={this.setRootNode}\n >\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div className={styles.scrollContainer(this.theme)}>{this.getChildList()}</div>\n </ScrollContainer>\n </div>\n );\n }\n\n private getChildList = () => {\n const enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n return React.Children.map(this.props.children, (child, index) => {\n if (!child) {\n return child;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n if (highlight && typeof modifiedChild.ref !== 'string') {\n ref = this.refHighlighted.bind(this, modifiedChild.ref);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: this.highlight.bind(this, index),\n onMouseLeave: this.unhighlight,\n });\n }\n\n return modifiedChild;\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: ((menuItem: MenuItem | null) => any) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (rootNode instanceof HTMLElement) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick();\n }\n return true;\n }\n return false;\n }\n\n private highlight = (index: number) => {\n this.setState({ highlightedIndex: index });\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n\n const children = childrenToArray(this.props.children);\n const activeElements = children.filter(isActiveElement);\n if (!activeElements.length) {\n return;\n }\n let index = this.state.highlightedIndex;\n do {\n index += step;\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n this.setState({ highlightedIndex: index }, () => {\n switch (activeElements.indexOf(child)) {\n case 0:\n this.scrollToTop();\n break;\n case activeElements.length - 1:\n this.scrollToBottom();\n break;\n default:\n this.scrollToSelected();\n }\n });\n return;\n }\n } while (index !== this.state.highlightedIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: props.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: props.maxHeight,\n };\n};\n\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"]}
1
+ {"version":3,"sources":["Menu.tsx"],"names":["React","isNonNullable","ScrollContainer","ThemeContext","cx","getRootNode","rootNode","addIconPaddingIfPartOfMenu","isIE11","createPropsGetter","styles","isActiveElement","Menu","getProps","defaultProps","state","highlightedIndex","unmounted","getChildList","enableIconPadding","Children","toArray","props","children","some","x","isValidElement","icon","map","child","index","modifiedChild","highlight","ref","refHighlighted","bind","cloneElement","onClick","select","onMouseEnter","onMouseLeave","unhighlight","refScrollContainer","scrollContainer","scrollToSelected","highlighted","HTMLElement","scrollTo","scrollToTop","scrollToBottom","setState","componentWillUnmount","render","theme","renderMain","up","move","down","enter","event","reset","hasHighlightedItem","highlightItem","isEmpty","hasShadow","maxHeight","preventWindowScroll","getAlignRightClass","root","shadow","getStyle","setRootNode","disableScrollContainer","originalRef","menuItem","shouldHandleHref","item","childrenToArray","href","target","window","open","location","onItemClick","step","activeElements","filter","length","indexOf","Component","__KONTUR_REACT_UI__","align","width","ret","forEach","push","maxWidth","minWidth","alignRight","alignRightIE11","alignRightIE11FixAutoWidth"],"mappings":"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","sourcesContent":["import React, { CSSProperties } from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport { MenuItem, MenuItemProps } from '../../components/MenuItem';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { addIconPaddingIfPartOfMenu } from '../InternalMenu/addIconPaddingIfPartOfMenu';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Menu.styles';\nimport { isActiveElement } from './isActiveElement';\n\nexport interface MenuProps {\n children: React.ReactNode;\n hasShadow?: boolean;\n maxHeight?: number | string;\n onItemClick?: () => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n}\n\nexport interface MenuState {\n highlightedIndex: number;\n}\n\ntype DefaultProps = Required<Pick<MenuProps, 'align' | 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll'>>;\n\n@rootNode\nexport class Menu extends React.Component<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasShadow: true,\n preventWindowScroll: true,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state = {\n highlightedIndex: -1,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private highlighted: Nullable<MenuItem>;\n private unmounted = false;\n private setRootNode!: TSetRootNode;\n\n public componentWillUnmount() {\n this.unmounted = true;\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 /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n return this.select(this.state.highlightedIndex, true, event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.setState({ highlightedIndex: -1 });\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return this.state.highlightedIndex !== -1;\n }\n\n public highlightItem(index: number) {\n this.highlight(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasShadow, maxHeight, preventWindowScroll } = this.getProps();\n\n return (\n <div\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.shadow(this.theme)]: hasShadow,\n })}\n style={getStyle(this.props)}\n ref={this.setRootNode}\n >\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n disabled={this.props.disableScrollContainer}\n >\n <div className={styles.scrollContainer(this.theme)}>{this.getChildList()}</div>\n </ScrollContainer>\n </div>\n );\n }\n\n private getChildList = () => {\n const enableIconPadding = React.Children.toArray(this.props.children).some(\n (x) => React.isValidElement(x) && x.props.icon,\n );\n\n return React.Children.map(this.props.children, (child, index) => {\n if (!child) {\n return child;\n }\n\n if (typeof child === 'string' || typeof child === 'number') {\n return child;\n }\n\n const modifiedChild = addIconPaddingIfPartOfMenu(child, enableIconPadding);\n\n if (isActiveElement(modifiedChild)) {\n const highlight = this.state.highlightedIndex === index;\n\n let ref = modifiedChild.ref;\n if (highlight && typeof modifiedChild.ref !== 'string') {\n ref = this.refHighlighted.bind(this, modifiedChild.ref);\n }\n\n return React.cloneElement<MenuItemProps, MenuItem>(modifiedChild, {\n ref,\n state: highlight ? 'hover' : modifiedChild.props.state,\n onClick: this.select.bind(this, index, false),\n onMouseEnter: this.highlight.bind(this, index),\n onMouseLeave: this.unhighlight,\n });\n }\n\n return modifiedChild;\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private refHighlighted(\n originalRef: ((menuItem: MenuItem | null) => any) | React.RefObject<MenuItem> | null | undefined,\n menuItem: MenuItem | null,\n ) {\n this.highlighted = menuItem;\n\n if (typeof originalRef === 'function') {\n originalRef(menuItem);\n }\n }\n\n private scrollToSelected = () => {\n if (this.scrollContainer && this.highlighted) {\n const rootNode = getRootNode(this.highlighted);\n // TODO: Remove this check once IF-647 is resolved\n if (rootNode instanceof HTMLElement) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private select(index: number, shouldHandleHref: boolean, event: React.SyntheticEvent<HTMLElement>): boolean {\n const item = childrenToArray(this.props.children)[index];\n if (isActiveElement(item)) {\n if (shouldHandleHref && item.props.href) {\n if (item.props.target) {\n window.open(item.props.href, item.props.target);\n } else {\n location.href = item.props.href;\n }\n }\n if (item.props.onClick) {\n item.props.onClick(event);\n }\n if (this.props.onItemClick) {\n this.props.onItemClick();\n }\n return true;\n }\n return false;\n }\n\n private highlight = (index: number) => {\n this.setState({ highlightedIndex: index });\n };\n\n private unhighlight = () => {\n this.setState({ highlightedIndex: -1 });\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n\n const children = childrenToArray(this.props.children);\n const activeElements = children.filter(isActiveElement);\n if (!activeElements.length) {\n return;\n }\n let index = this.state.highlightedIndex;\n do {\n index += step;\n if (index < 0) {\n index = children.length - 1;\n } else if (index > children.length) {\n index = 0;\n }\n\n const child = children[index];\n if (isActiveElement(child)) {\n this.setState({ highlightedIndex: index }, () => {\n switch (activeElements.indexOf(child)) {\n case 0:\n this.scrollToTop();\n break;\n case activeElements.length - 1:\n this.scrollToBottom();\n break;\n default:\n this.scrollToSelected();\n }\n });\n return;\n }\n } while (index !== this.state.highlightedIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: props.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: props.maxHeight,\n };\n};\n\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"]}