@skbkontur/react-ui 0.0.0-dad43298ae → 0.0.0-db9f11da2a

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 (952) hide show
  1. package/CHANGELOG.md +280 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -26
  4. package/cjs/components/Autocomplete/Autocomplete.js +64 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -1
  7. package/cjs/components/Button/Button.js +47 -17
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +109 -76
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/ButtonArrow.js +13 -14
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  15. package/cjs/components/Calendar/Calendar.js +1 -0
  16. package/cjs/components/Calendar/Calendar.js.map +1 -1
  17. package/cjs/components/Calendar/CalendarDay.js +18 -2
  18. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  19. package/cjs/components/Calendar/DayCellView.js +7 -15
  20. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  21. package/cjs/components/Center/Center.d.ts +2 -0
  22. package/cjs/components/Center/Center.js +1 -0
  23. package/cjs/components/Center/Center.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.d.ts +4 -16
  25. package/cjs/components/Checkbox/Checkbox.js +16 -32
  26. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  27. package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
  28. package/cjs/components/ComboBox/ComboBox.js +26 -1
  29. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  30. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  31. package/cjs/components/CurrencyInput/CurrencyInput.js +6 -25
  32. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  33. package/cjs/components/CurrencyInput/constants.js +1 -2
  34. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  36. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  37. package/cjs/components/DateInput/DateInput.d.ts +6 -1
  38. package/cjs/components/DateInput/DateInput.js +45 -17
  39. package/cjs/components/DateInput/DateInput.js.map +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  42. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  44. package/cjs/components/DatePicker/DatePicker.js +6 -60
  45. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  47. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  48. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  51. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  53. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  55. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  56. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  57. package/cjs/components/Dropdown/Dropdown.js +2 -82
  58. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  59. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  60. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  61. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  62. package/cjs/components/FileUploader/FileUploader.js +15 -2
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +13 -8
  65. package/cjs/components/FxInput/FxInput.js +137 -60
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  68. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  69. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  70. package/cjs/components/Gapped/Gapped.js +1 -24
  71. package/cjs/components/Gapped/Gapped.js.map +1 -1
  72. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  73. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  74. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  75. package/cjs/components/Group/Group.d.ts +5 -4
  76. package/cjs/components/Group/Group.js +91 -40
  77. package/cjs/components/Group/Group.js.map +1 -1
  78. package/cjs/components/Group/Group.styles.d.ts +1 -0
  79. package/cjs/components/Group/Group.styles.js +12 -6
  80. package/cjs/components/Group/Group.styles.js.map +1 -1
  81. package/cjs/components/Hint/Hint.d.ts +2 -0
  82. package/cjs/components/Hint/Hint.js +1 -0
  83. package/cjs/components/Hint/Hint.js.map +1 -1
  84. package/cjs/components/Input/Input.d.ts +6 -5
  85. package/cjs/components/Input/Input.js +17 -47
  86. package/cjs/components/Input/Input.js.map +1 -1
  87. package/cjs/components/Input/Input.styles.d.ts +0 -1
  88. package/cjs/components/Input/Input.styles.js +8 -19
  89. package/cjs/components/Input/Input.styles.js.map +1 -1
  90. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  91. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  92. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  93. package/cjs/components/Kebab/Kebab.d.ts +4 -2
  94. package/cjs/components/Kebab/Kebab.js +9 -29
  95. package/cjs/components/Kebab/Kebab.js.map +1 -1
  96. package/cjs/components/Link/Link.d.ts +2 -0
  97. package/cjs/components/Link/Link.js +15 -1
  98. package/cjs/components/Link/Link.js.map +1 -1
  99. package/cjs/components/Link/Link.mixins.js +1 -2
  100. package/cjs/components/Link/Link.mixins.js.map +1 -1
  101. package/cjs/components/Link/Link.styles.js +3 -2
  102. package/cjs/components/Link/Link.styles.js.map +1 -1
  103. package/cjs/components/Loader/Loader.d.ts +7 -36
  104. package/cjs/components/Loader/Loader.js +6 -56
  105. package/cjs/components/Loader/Loader.js.map +1 -1
  106. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  107. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  108. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  109. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  110. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  111. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  112. package/cjs/components/MaskedInput/MaskedInput.js +43 -4
  113. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  114. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  115. package/cjs/components/MenuItem/MenuItem.js +2 -22
  116. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  117. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  118. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  119. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  120. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  121. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  122. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  123. package/cjs/components/Modal/Modal.styles.js +40 -32
  124. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  125. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  126. package/cjs/components/Modal/ModalBody.js +1 -0
  127. package/cjs/components/Modal/ModalBody.js.map +1 -1
  128. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  129. package/cjs/components/Modal/ModalHeader.js +8 -1
  130. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  131. package/cjs/components/Modal/ModalSeparator.js +1 -1
  132. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  133. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  134. package/cjs/components/Paging/DotsIcon.js +13 -0
  135. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  136. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  137. package/cjs/components/Paging/ForwardIcon.js +13 -1
  138. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  139. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  140. package/cjs/components/Paging/NavigationHelper.js +8 -6
  141. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  142. package/cjs/components/Paging/Paging.d.ts +13 -2
  143. package/cjs/components/Paging/Paging.js +120 -50
  144. package/cjs/components/Paging/Paging.js.map +1 -1
  145. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  146. package/cjs/components/Paging/Paging.styles.js +151 -22
  147. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  148. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  149. package/cjs/components/Paging/PagingHelper.js +18 -11
  150. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  151. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -12
  152. package/cjs/components/PasswordInput/PasswordInput.js +21 -32
  153. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  154. package/cjs/components/Radio/Radio.d.ts +4 -1
  155. package/cjs/components/Radio/Radio.js +7 -4
  156. package/cjs/components/Radio/Radio.js.map +1 -1
  157. package/cjs/components/RadioGroup/RadioGroup.d.ts +3 -0
  158. package/cjs/components/RadioGroup/RadioGroup.js +19 -1
  159. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  160. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  161. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  162. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  163. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  164. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  165. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  166. package/cjs/components/Select/Select.d.ts +7 -1
  167. package/cjs/components/Select/Select.js +13 -6
  168. package/cjs/components/Select/Select.js.map +1 -1
  169. package/cjs/components/SidePage/SidePage.js +4 -2
  170. package/cjs/components/SidePage/SidePage.js.map +1 -1
  171. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  172. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  173. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageBody.js +1 -0
  176. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  178. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  179. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  180. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  181. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  182. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  183. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  184. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  185. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  186. package/cjs/components/SingleToast/SingleToast.d.ts +33 -3
  187. package/cjs/components/SingleToast/SingleToast.js +58 -3
  188. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  189. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  190. package/cjs/components/Spinner/Spinner.js +2 -32
  191. package/cjs/components/Spinner/Spinner.js.map +1 -1
  192. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  193. package/cjs/components/Sticky/Sticky.js +12 -18
  194. package/cjs/components/Sticky/Sticky.js.map +1 -1
  195. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  196. package/cjs/components/Switcher/Switcher.js +11 -20
  197. package/cjs/components/Switcher/Switcher.js.map +1 -1
  198. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  199. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  200. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  201. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  202. package/cjs/components/Tabs/Indicator.js +1 -0
  203. package/cjs/components/Tabs/Indicator.js.map +1 -1
  204. package/cjs/components/Tabs/Tab.d.ts +2 -0
  205. package/cjs/components/Tabs/Tab.js +1 -0
  206. package/cjs/components/Tabs/Tab.js.map +1 -1
  207. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  208. package/cjs/components/Tabs/Tabs.js +1 -0
  209. package/cjs/components/Tabs/Tabs.js.map +1 -1
  210. package/cjs/components/Textarea/Textarea.d.ts +10 -46
  211. package/cjs/components/Textarea/Textarea.js +23 -60
  212. package/cjs/components/Textarea/Textarea.js.map +1 -1
  213. package/cjs/components/Textarea/Textarea.styles.js +3 -2
  214. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  215. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  216. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  217. package/cjs/components/Toast/Toast.d.ts +62 -13
  218. package/cjs/components/Toast/Toast.js +119 -12
  219. package/cjs/components/Toast/Toast.js.map +1 -1
  220. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  221. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  222. package/cjs/components/Toast/ToastView.d.ts +8 -16
  223. package/cjs/components/Toast/ToastView.js +19 -22
  224. package/cjs/components/Toast/ToastView.js.map +1 -1
  225. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  226. package/cjs/components/Toast/ToastView.styles.js +43 -9
  227. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  228. package/cjs/components/Toggle/Toggle.d.ts +4 -11
  229. package/cjs/components/Toggle/Toggle.js +4 -14
  230. package/cjs/components/Toggle/Toggle.js.map +1 -1
  231. package/cjs/components/Token/Token.d.ts +2 -0
  232. package/cjs/components/Token/Token.js +1 -0
  233. package/cjs/components/Token/Token.js.map +1 -1
  234. package/cjs/components/TokenInput/TokenInput.d.ts +8 -3
  235. package/cjs/components/TokenInput/TokenInput.js +44 -30
  236. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  237. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  238. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  239. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  240. package/cjs/components/Tooltip/Tooltip.d.ts +14 -8
  241. package/cjs/components/Tooltip/Tooltip.js +102 -17
  242. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  243. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  244. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  245. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  246. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  247. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  248. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  249. package/cjs/index.d.ts +2 -0
  250. package/cjs/index.js +1 -0
  251. package/cjs/index.js.map +1 -1
  252. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  253. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  254. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  255. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  256. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  257. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  258. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  259. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  260. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  261. package/cjs/internal/ComponentTable.js +2 -3
  262. package/cjs/internal/ComponentTable.js.map +1 -1
  263. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  264. package/cjs/internal/CustomComboBox/ComboBoxView.js +50 -7
  265. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  266. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  267. package/cjs/internal/CustomComboBox/CustomComboBox.js +20 -5
  268. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  269. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  270. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  271. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  272. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  273. package/cjs/internal/DateSelect/DateSelect.js +13 -19
  274. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  275. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  276. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  277. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  278. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  279. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  280. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  281. package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
  282. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  283. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  284. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  285. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  286. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  287. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  288. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  289. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  290. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  291. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  292. package/cjs/internal/Menu/Menu.d.ts +2 -0
  293. package/cjs/internal/Menu/Menu.js +1 -0
  294. package/cjs/internal/Menu/Menu.js.map +1 -1
  295. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  296. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  297. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  298. package/cjs/internal/Popup/Popup.d.ts +43 -60
  299. package/cjs/internal/Popup/Popup.js +41 -81
  300. package/cjs/internal/Popup/Popup.js.map +1 -1
  301. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  302. package/cjs/internal/Popup/PopupPin.js +2 -35
  303. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  304. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  305. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  306. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  307. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  308. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  309. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  310. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  311. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  312. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  313. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  314. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  315. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  316. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  317. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  318. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  319. package/cjs/internal/ThemePlayground/Playground.js +20 -16
  320. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  321. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  322. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  323. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  324. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  325. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  326. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  327. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  328. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  329. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  330. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  331. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  332. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  333. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  334. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  335. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  336. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  337. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  338. package/cjs/internal/themes/BasicTheme.d.ts +125 -20
  339. package/cjs/internal/themes/BasicTheme.js +172 -25
  340. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  341. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  342. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  343. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  344. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  345. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  346. package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
  347. package/cjs/internal/themes/DarkTheme5_4.js +18 -0
  348. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
  349. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  350. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  351. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  352. package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
  353. package/cjs/internal/themes/LightTheme5_4.js +18 -0
  354. package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
  355. package/cjs/internal/themes/consts.d.ts +8 -0
  356. package/cjs/internal/themes/consts.js +8 -0
  357. package/cjs/internal/themes/consts.js.map +1 -0
  358. package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
  359. package/cjs/lib/blink.d.ts +15 -0
  360. package/cjs/lib/blink.js +65 -0
  361. package/cjs/lib/blink.js.map +1 -0
  362. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  363. package/cjs/lib/date/InternalDateGetter.js +8 -1
  364. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  365. package/cjs/lib/delay.mts +3 -0
  366. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  367. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  368. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +23 -1
  369. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  370. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  371. package/cjs/lib/forwardRefAndName.js +0 -1
  372. package/cjs/lib/forwardRefAndName.js.map +1 -1
  373. package/cjs/lib/getMenuPositions.d.ts +21 -1
  374. package/cjs/lib/getMenuPositions.js +45 -8
  375. package/cjs/lib/getMenuPositions.js.map +1 -1
  376. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  377. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  378. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  379. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  380. package/cjs/lib/size/SizeControlContext.js +16 -0
  381. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  382. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  383. package/cjs/lib/size/SizeDecorator.js +41 -0
  384. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  385. package/cjs/lib/size/constants.d.ts +2 -0
  386. package/cjs/lib/size/constants.js +3 -0
  387. package/cjs/lib/size/constants.js.map +1 -0
  388. package/cjs/lib/size/index.d.ts +1 -0
  389. package/cjs/lib/size/index.js +1 -0
  390. package/cjs/lib/size/index.js.map +1 -0
  391. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  392. package/cjs/lib/size/useSizeControl.js +10 -0
  393. package/cjs/lib/size/useSizeControl.js.map +1 -0
  394. package/cjs/lib/theming/ThemeHelpers.d.ts +1 -1
  395. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  396. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  397. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  398. package/cjs/lib/theming/themes/DarkTheme.d.ts +2 -0
  399. package/cjs/lib/theming/themes/DarkTheme.js +6 -2
  400. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  401. package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
  402. package/cjs/lib/theming/themes/LightTheme.js +6 -2
  403. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  404. package/cjs/lib/utils.d.ts +18 -1
  405. package/cjs/lib/utils.js +40 -4
  406. package/cjs/lib/utils.js.map +1 -1
  407. package/cjs/test-setup.d.ts +1 -0
  408. package/cjs/vitest.config.d.ts +2 -0
  409. package/components/Autocomplete/Autocomplete/Autocomplete.js +63 -51
  410. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  411. package/components/Autocomplete/Autocomplete.d.ts +18 -26
  412. package/components/Button/Button/Button.js +45 -24
  413. package/components/Button/Button/Button.js.map +1 -1
  414. package/components/Button/Button.d.ts +4 -1
  415. package/components/Button/Button.styles/Button.styles.js +79 -61
  416. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  417. package/components/Button/Button.styles.d.ts +6 -0
  418. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  419. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  420. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  421. package/components/Calendar/Calendar.d.ts +2 -0
  422. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  423. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  424. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  425. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  426. package/components/Center/Center/Center.js.map +1 -1
  427. package/components/Center/Center.d.ts +2 -0
  428. package/components/Checkbox/Checkbox/Checkbox.js +12 -24
  429. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  430. package/components/Checkbox/Checkbox.d.ts +4 -16
  431. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  432. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  433. package/components/ComboBox/ComboBox.d.ts +22 -3
  434. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +13 -36
  435. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  436. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  437. package/components/CurrencyInput/constants/constants.js +0 -1
  438. package/components/CurrencyInput/constants/constants.js.map +1 -1
  439. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  440. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  441. package/components/DateInput/DateInput/DateInput.js +34 -24
  442. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  443. package/components/DateInput/DateInput.d.ts +6 -1
  444. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  445. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  446. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  447. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  448. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  449. package/components/DatePicker/DatePicker.d.ts +6 -33
  450. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  451. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  452. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  453. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  454. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  455. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  456. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  457. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  458. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  459. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  460. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  461. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  462. package/components/Dropdown/Dropdown.d.ts +2 -47
  463. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  464. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  465. package/components/FileUploader/FileUploader/FileUploader.js +8 -2
  466. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  467. package/components/FxInput/FxInput/FxInput.js +122 -70
  468. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  469. package/components/FxInput/FxInput.d.ts +13 -8
  470. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  471. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  472. package/components/Gapped/Gapped/Gapped.js +1 -15
  473. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  474. package/components/Gapped/Gapped.d.ts +2 -15
  475. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  476. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  477. package/components/Group/Group/Group.js +64 -28
  478. package/components/Group/Group/Group.js.map +1 -1
  479. package/components/Group/Group.d.ts +5 -4
  480. package/components/Group/Group.styles/Group.styles.js +9 -6
  481. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  482. package/components/Group/Group.styles.d.ts +1 -0
  483. package/components/Hint/Hint/Hint.js.map +1 -1
  484. package/components/Hint/Hint.d.ts +2 -0
  485. package/components/Input/Input/Input.js +23 -52
  486. package/components/Input/Input/Input.js.map +1 -1
  487. package/components/Input/Input.d.ts +6 -5
  488. package/components/Input/Input.styles/Input.styles.js +9 -13
  489. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  490. package/components/Input/Input.styles.d.ts +0 -1
  491. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  492. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  493. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  494. package/components/Kebab/Kebab/Kebab.js +8 -26
  495. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  496. package/components/Kebab/Kebab.d.ts +4 -2
  497. package/components/Link/Link/Link.js +8 -1
  498. package/components/Link/Link/Link.js.map +1 -1
  499. package/components/Link/Link.d.ts +2 -0
  500. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  501. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  502. package/components/Link/Link.styles/Link.styles.js +1 -1
  503. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  504. package/components/Loader/Loader/Loader.js +2 -34
  505. package/components/Loader/Loader/Loader.js.map +1 -1
  506. package/components/Loader/Loader.d.ts +7 -36
  507. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  508. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  509. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  510. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  511. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  512. package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
  513. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  514. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  515. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  516. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  517. package/components/MenuItem/MenuItem.d.ts +2 -12
  518. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  519. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  520. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  521. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  522. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  523. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  524. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  525. package/components/Modal/Modal.styles.d.ts +2 -1
  526. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  527. package/components/Modal/ModalBody.d.ts +2 -0
  528. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  529. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  530. package/components/Modal/ModalHeader.d.ts +5 -0
  531. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  532. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  533. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  534. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  535. package/components/Paging/DotsIcon/package.json +6 -0
  536. package/components/Paging/DotsIcon.d.ts +3 -0
  537. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  538. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  539. package/components/Paging/ForwardIcon.d.ts +3 -0
  540. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  541. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  542. package/components/Paging/NavigationHelper.d.ts +3 -2
  543. package/components/Paging/Paging/Paging.js +96 -47
  544. package/components/Paging/Paging/Paging.js.map +1 -1
  545. package/components/Paging/Paging.d.ts +13 -2
  546. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  547. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  548. package/components/Paging/Paging.styles.d.ts +24 -1
  549. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  550. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  551. package/components/Paging/PagingHelper.d.ts +1 -1
  552. package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -25
  553. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  554. package/components/PasswordInput/PasswordInput.d.ts +5 -12
  555. package/components/Radio/Radio/Radio.js +7 -7
  556. package/components/Radio/Radio/Radio.js.map +1 -1
  557. package/components/Radio/Radio.d.ts +4 -1
  558. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  559. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  560. package/components/RadioGroup/RadioGroup.d.ts +3 -0
  561. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  562. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  563. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  564. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  565. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  566. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  567. package/components/Select/Select/Select.js +17 -15
  568. package/components/Select/Select/Select.js.map +1 -1
  569. package/components/Select/Select.d.ts +7 -1
  570. package/components/SidePage/SidePage/SidePage.js +3 -3
  571. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  572. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  573. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  574. package/components/SidePage/SidePage.styles.d.ts +3 -1
  575. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  576. package/components/SidePage/SidePageBody.d.ts +2 -0
  577. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  578. package/components/SidePage/SidePageContainer.d.ts +2 -0
  579. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  580. package/components/SidePage/SidePageFooter.d.ts +2 -0
  581. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  582. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  583. package/components/SidePage/SidePageHeader.d.ts +12 -2
  584. package/components/SingleToast/SingleToast/SingleToast.js +37 -12
  585. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  586. package/components/SingleToast/SingleToast.d.ts +33 -3
  587. package/components/Spinner/Spinner/Spinner.js +1 -18
  588. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  589. package/components/Spinner/Spinner.d.ts +2 -18
  590. package/components/Sticky/Sticky/Sticky.js +10 -14
  591. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  592. package/components/Sticky/Sticky.d.ts +5 -13
  593. package/components/Switcher/Switcher/Switcher.js +19 -16
  594. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  595. package/components/Switcher/Switcher.d.ts +6 -21
  596. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  597. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  598. package/components/Switcher/Switcher.styles.d.ts +1 -0
  599. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  600. package/components/Tabs/Indicator.d.ts +2 -0
  601. package/components/Tabs/Tab/Tab.js.map +1 -1
  602. package/components/Tabs/Tab.d.ts +2 -0
  603. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  604. package/components/Tabs/Tabs.d.ts +2 -0
  605. package/components/Textarea/Textarea/Textarea.js +19 -52
  606. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  607. package/components/Textarea/Textarea.d.ts +10 -46
  608. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  609. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  610. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  611. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  612. package/components/Toast/Toast/Toast.js +93 -32
  613. package/components/Toast/Toast/Toast.js.map +1 -1
  614. package/components/Toast/Toast.d.ts +62 -13
  615. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  616. package/components/Toast/ToastStatic.d.ts +3 -2
  617. package/components/Toast/ToastView/ToastView.js +20 -22
  618. package/components/Toast/ToastView/ToastView.js.map +1 -1
  619. package/components/Toast/ToastView.d.ts +8 -16
  620. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  621. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  622. package/components/Toast/ToastView.styles.d.ts +4 -0
  623. package/components/Toggle/Toggle/Toggle.js +11 -20
  624. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  625. package/components/Toggle/Toggle.d.ts +4 -11
  626. package/components/Token/Token/Token.js.map +1 -1
  627. package/components/Token/Token.d.ts +2 -0
  628. package/components/TokenInput/TokenInput/TokenInput.js +49 -43
  629. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  630. package/components/TokenInput/TokenInput.d.ts +8 -3
  631. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  632. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  633. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  634. package/components/Tooltip/Tooltip/Tooltip.js +77 -26
  635. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  636. package/components/Tooltip/Tooltip.d.ts +14 -8
  637. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  638. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  639. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  640. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  641. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  642. package/index.d.ts +2 -0
  643. package/index.js +2 -0
  644. package/index.js.map +1 -1
  645. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  646. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  647. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  648. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  649. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  650. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  651. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  652. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  653. package/internal/ComponentTable/ComponentTable.js +0 -2
  654. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  655. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +72 -41
  656. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  657. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  658. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +13 -7
  659. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  660. package/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  661. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  662. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  663. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  664. package/internal/DateSelect/DateSelect/DateSelect.js +4 -11
  665. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  666. package/internal/DateSelect/DateSelect.d.ts +0 -10
  667. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  668. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  669. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  670. package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
  671. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  672. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  673. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  674. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  675. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  676. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  677. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  678. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  679. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  680. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  681. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  682. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  683. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  684. package/internal/Menu/Menu/Menu.js.map +1 -1
  685. package/internal/Menu/Menu.d.ts +2 -0
  686. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  687. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  688. package/internal/Popup/Popup/Popup.js +23 -69
  689. package/internal/Popup/Popup/Popup.js.map +1 -1
  690. package/internal/Popup/Popup.d.ts +43 -60
  691. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  692. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  693. package/internal/Popup/PopupPin.d.ts +23 -33
  694. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  695. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  696. package/internal/Popup/PopupPinNew/package.json +6 -0
  697. package/internal/Popup/PopupPinNew.d.ts +31 -0
  698. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  699. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  700. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  701. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  702. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  703. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  704. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  705. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  706. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  707. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  708. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  709. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  710. package/internal/ThemePlayground/Playground/Playground.js +21 -18
  711. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  712. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  713. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  714. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  715. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  716. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  717. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  718. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  719. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  720. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  721. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  722. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  723. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  724. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  725. package/internal/ZIndex/ZIndex.d.ts +3 -3
  726. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  727. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  728. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  729. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  730. package/internal/themes/BasicTheme/BasicTheme.js +185 -30
  731. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  732. package/internal/themes/BasicTheme.d.ts +125 -20
  733. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  734. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  735. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  736. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  737. package/internal/themes/DarkTheme5_3/package.json +6 -0
  738. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  739. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
  740. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
  741. package/internal/themes/DarkTheme5_4/package.json +6 -0
  742. package/internal/themes/DarkTheme5_4.d.ts +1 -0
  743. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  744. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  745. package/internal/themes/LightTheme5_3/package.json +6 -0
  746. package/internal/themes/LightTheme5_3.d.ts +1 -0
  747. package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
  748. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
  749. package/internal/themes/LightTheme5_4/package.json +6 -0
  750. package/internal/themes/LightTheme5_4.d.ts +1 -0
  751. package/internal/themes/consts/consts.js +9 -0
  752. package/internal/themes/consts/consts.js.map +1 -0
  753. package/internal/themes/consts/package.json +6 -0
  754. package/internal/themes/consts.d.ts +8 -0
  755. package/lib/__stories__/Blink.creevey.mts +90 -0
  756. package/lib/blink/blink.js +63 -0
  757. package/lib/blink/blink.js.map +1 -0
  758. package/lib/blink/package.json +6 -0
  759. package/lib/blink.d.ts +15 -0
  760. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  761. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  762. package/lib/date/InternalDateGetter.d.ts +1 -1
  763. package/lib/delay.d.mts +1 -0
  764. package/lib/delay.mts +3 -0
  765. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  766. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -1
  767. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  768. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  769. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  770. package/lib/forwardRefAndName.d.ts +1 -1
  771. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  772. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  773. package/lib/getMenuPositions.d.ts +21 -1
  774. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  775. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  776. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  777. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  778. package/lib/size/SizeControlContext/package.json +6 -0
  779. package/lib/size/SizeControlContext.d.ts +6 -0
  780. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  781. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  782. package/lib/size/SizeDecorator/package.json +6 -0
  783. package/lib/size/SizeDecorator.d.ts +33 -0
  784. package/lib/size/constants/constants.js +1 -0
  785. package/lib/size/constants/constants.js.map +1 -0
  786. package/lib/size/constants/package.json +6 -0
  787. package/lib/size/constants.d.ts +2 -0
  788. package/lib/size/index/index.js +1 -0
  789. package/lib/size/index/index.js.map +1 -0
  790. package/lib/size/index/package.json +6 -0
  791. package/lib/size/index.d.ts +1 -0
  792. package/lib/size/package.json +6 -0
  793. package/lib/size/useSizeControl/package.json +6 -0
  794. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  795. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  796. package/lib/size/useSizeControl.d.ts +2 -0
  797. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  798. package/lib/theming/ThemeHelpers.d.ts +1 -1
  799. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  800. package/lib/theming/ThemeVersions.d.ts +1 -1
  801. package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -1
  802. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  803. package/lib/theming/themes/DarkTheme.d.ts +2 -0
  804. package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
  805. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  806. package/lib/theming/themes/LightTheme.d.ts +2 -0
  807. package/lib/utils/utils.js +33 -2
  808. package/lib/utils/utils.js.map +1 -1
  809. package/lib/utils.d.ts +18 -1
  810. package/package.json +19 -36
  811. package/test-setup.d.ts +1 -0
  812. package/vitest.config.d.ts +2 -0
  813. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  814. package/cjs/components/Button/Button.md +0 -261
  815. package/cjs/components/Calendar/Calendar.md +0 -276
  816. package/cjs/components/Calendar/CalendarDay.md +0 -70
  817. package/cjs/components/Center/Center.md +0 -26
  818. package/cjs/components/Checkbox/Checkbox.md +0 -171
  819. package/cjs/components/ComboBox/ComboBox.md +0 -574
  820. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  821. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  822. package/cjs/components/DateInput/DateInput.md +0 -111
  823. package/cjs/components/DatePicker/DatePicker.md +0 -368
  824. package/cjs/components/Dropdown/Dropdown.md +0 -45
  825. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  826. package/cjs/components/FileUploader/FileUploader.md +0 -131
  827. package/cjs/components/FxInput/FxInput.md +0 -31
  828. package/cjs/components/Gapped/Gapped.md +0 -44
  829. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  830. package/cjs/components/Group/Group.md +0 -19
  831. package/cjs/components/Hint/Hint.md +0 -86
  832. package/cjs/components/Input/Input.md +0 -87
  833. package/cjs/components/Kebab/Kebab.md +0 -306
  834. package/cjs/components/Link/Link.md +0 -182
  835. package/cjs/components/Loader/Loader.md +0 -33
  836. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  837. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  838. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  839. package/cjs/components/MenuItem/MenuItem.md +0 -139
  840. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  841. package/cjs/components/MiniModal/MiniModal.md +0 -231
  842. package/cjs/components/Modal/Modal.md +0 -56
  843. package/cjs/components/Paging/Paging.md +0 -57
  844. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  845. package/cjs/components/Radio/Radio.md +0 -57
  846. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  847. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  848. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  849. package/cjs/components/Select/Select.md +0 -113
  850. package/cjs/components/SidePage/SidePage.md +0 -65
  851. package/cjs/components/SingleToast/SingleToast.md +0 -36
  852. package/cjs/components/Spinner/Spinner.md +0 -36
  853. package/cjs/components/Sticky/Sticky.md +0 -28
  854. package/cjs/components/Switcher/Switcher.md +0 -111
  855. package/cjs/components/Tabs/Tab.md +0 -73
  856. package/cjs/components/Tabs/Tabs.md +0 -54
  857. package/cjs/components/Textarea/Textarea.md +0 -58
  858. package/cjs/components/Toast/Toast.md +0 -69
  859. package/cjs/components/Toggle/Toggle.md +0 -110
  860. package/cjs/components/Token/Token.md +0 -131
  861. package/cjs/components/TokenInput/TokenInput.md +0 -308
  862. package/cjs/components/Tooltip/Tooltip.md +0 -322
  863. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  864. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  865. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  866. package/cjs/internal/DataTids/DataTids.js +0 -50
  867. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  868. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  869. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  870. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  871. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  872. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  873. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  874. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  875. package/cjs/lib/SSRSafe.d.ts +0 -2
  876. package/cjs/lib/SSRSafe.js +0 -5
  877. package/cjs/lib/SSRSafe.js.map +0 -1
  878. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  879. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  880. package/cjs/lib/theming/ThemeContext.md +0 -265
  881. package/components/Autocomplete/Autocomplete.md +0 -113
  882. package/components/Button/Button.md +0 -261
  883. package/components/Calendar/Calendar.md +0 -276
  884. package/components/Calendar/CalendarDay.md +0 -70
  885. package/components/Center/Center.md +0 -26
  886. package/components/Checkbox/Checkbox.md +0 -171
  887. package/components/ComboBox/ComboBox.md +0 -574
  888. package/components/CurrencyInput/CurrencyInput.md +0 -39
  889. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  890. package/components/DateInput/DateInput.md +0 -111
  891. package/components/DatePicker/DatePicker.md +0 -368
  892. package/components/Dropdown/Dropdown.md +0 -45
  893. package/components/DropdownMenu/DropdownMenu.md +0 -290
  894. package/components/FileUploader/FileUploader.md +0 -131
  895. package/components/FxInput/FxInput.md +0 -31
  896. package/components/Gapped/Gapped.md +0 -44
  897. package/components/GlobalLoader/GlobalLoader.md +0 -97
  898. package/components/Group/Group.md +0 -19
  899. package/components/Hint/Hint.md +0 -86
  900. package/components/Input/Input.md +0 -87
  901. package/components/Kebab/Kebab.md +0 -306
  902. package/components/Link/Link.md +0 -182
  903. package/components/Loader/Loader.md +0 -33
  904. package/components/MaskedInput/MaskedInput.md +0 -114
  905. package/components/MenuFooter/MenuFooter.md +0 -27
  906. package/components/MenuHeader/MenuHeader.md +0 -35
  907. package/components/MenuItem/MenuItem.md +0 -139
  908. package/components/MenuSeparator/MenuSeparator.md +0 -14
  909. package/components/MiniModal/MiniModal.md +0 -231
  910. package/components/Modal/Modal.md +0 -56
  911. package/components/Paging/Paging.md +0 -57
  912. package/components/PasswordInput/PasswordInput.md +0 -29
  913. package/components/Radio/Radio.md +0 -57
  914. package/components/RadioGroup/RadioGroup.md +0 -44
  915. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  916. package/components/ScrollContainer/ScrollContainer.md +0 -224
  917. package/components/Select/Select.md +0 -113
  918. package/components/SidePage/SidePage.md +0 -65
  919. package/components/SingleToast/SingleToast.md +0 -36
  920. package/components/Spinner/Spinner.md +0 -36
  921. package/components/Sticky/Sticky.md +0 -28
  922. package/components/Switcher/Switcher.md +0 -111
  923. package/components/Tabs/Tab.md +0 -73
  924. package/components/Tabs/Tabs.md +0 -54
  925. package/components/Textarea/Textarea.md +0 -58
  926. package/components/Toast/Toast.md +0 -69
  927. package/components/Toggle/Toggle.md +0 -110
  928. package/components/Token/Token.md +0 -131
  929. package/components/TokenInput/TokenInput.md +0 -308
  930. package/components/Tooltip/Tooltip.md +0 -322
  931. package/components/TooltipMenu/TooltipMenu.md +0 -241
  932. package/internal/DataTids/DATATIDS.md +0 -12
  933. package/internal/DataTids/DataTids/DataTids.js +0 -69
  934. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  935. package/internal/DataTids/DataTids/package.json +0 -6
  936. package/internal/DataTids/DataTids.d.ts +0 -12
  937. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  938. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  939. package/internal/DataTids/DataTids.styles/package.json +0 -6
  940. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  941. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  942. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  943. package/internal/DataTids/componentsDataTids/package.json +0 -6
  944. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  945. package/internal/ThemePlayground/Playground.md +0 -7
  946. package/lib/SSRSafe/SSRSafe.js +0 -4
  947. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  948. package/lib/SSRSafe/package.json +0 -6
  949. package/lib/SSRSafe.d.ts +0 -2
  950. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  951. package/lib/locale/LOCALECONTEXT.md +0 -222
  952. package/lib/theming/ThemeContext.md +0 -265
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","globalObject","keyListener","ThemeContext","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","createPropsGetter","FocusControlWrapper","styles","globalClasses","CheckedIcon","IndeterminateIcon","CheckboxDataTids","root","Checkbox","_class","_Checkbox","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","_globalObject$documen","_globalObject$documen2","current","document","addEventListener","componentWillUnmount","_globalObject$documen3","_globalObject$documen4","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","_cx","_cx3","_cx4","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","_objectWithoutPropertiesLoose","_excluded","isIndeterminate","iconClass","icon","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","createElement","className","IconSquare","rootClass","getRootSizeClassName","theme","rootFallback","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","_extends","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","_cx2","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","onBlurWhenDisabled","resetFocus","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","_this2","Consumer","rootNodeRef","setRootNode","focus","_this$input$current","blur","_this$input$current2","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","func"],"sources":["Checkbox.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange?: (value: boolean) => void;\n\n /** Задает HTML-событие `onblur`.\n * @ignore */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n\n /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n/**\n * `Checkbox` используется для управления параметром с двумя состояниями.\n *\n * Чекбокс не запускает действие немедленно. Как правило, для этого нужно нажать подтверждающую кнопку.\n * Для немедленного включения какого-то режима в интерфейсе лучше подходит Toggle.\n */\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const iconClass = cx(styles.icon(), !props.checked && !isIndeterminate && styles.iconUnchecked());\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n );\n const IconSquare = (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n );\n\n const rootClass = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","keyListener","ThemeContext","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","FocusControlWrapper","withSize","createPropsGetter","styles","globalClasses","CheckedIcon","IndeterminateIcon","CheckboxDataTids","root","Checkbox","_class","_Checkbox","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","getProps","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","_globalObject$documen","_globalObject$documen2","current","document","addEventListener","componentWillUnmount","_globalObject$documen3","_globalObject$documen4","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","_cx","_cx3","_cx4","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","_objectWithoutPropertiesLoose","_excluded","isIndeterminate","iconClass","icon","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","createElement","className","IconSquare","rootClass","getRootSizeClassName","theme","rootFallback","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","_extends","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","_cx2","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","onBlurWhenDisabled","resetFocus","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","_this2","Consumer","rootNodeRef","setRootNode","focus","_this$input$current","blur","_this$input$current2","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Checkbox.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange?: (value: boolean) => void;\n\n /** Задает HTML-событие `onblur`.\n * @ignore */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n\n /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\n/**\n * `Checkbox` используется для управления параметром с двумя состояниями.\n *\n * Чекбокс не запускает действие немедленно. Как правило, для этого нужно нажать подтверждающую кнопку.\n * Для немедленного включения какого-то режима в интерфейсе лучше подходит Toggle.\n */\n@rootNode\n@withSize\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n private size!: SizeProp;\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n private getProps = createPropsGetter({});\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const iconClass = cx(styles.icon(), !this.props.checked && !isIndeterminate && styles.iconUnchecked());\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n );\n const IconSquare = (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n );\n\n const rootClass = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: this.props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(this.props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(this.props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: this.props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: this.props.error,\n [styles.boxWarning(this.theme)]: this.props.warning,\n [styles.boxDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { Override } from '../../typings/utility-types';
5
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
6
6
  import type { SizeProp } from '../../lib/types/props';
7
7
  export interface CheckboxProps extends CommonProps, Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Override<React.InputHTMLAttributes<HTMLInputElement>, {
8
8
  /** @ignore */
@@ -39,7 +39,6 @@ export interface CheckboxState {
39
39
  export declare const CheckboxDataTids: {
40
40
  readonly root: "Checkbox__root";
41
41
  };
42
- type DefaultProps = Required<Pick<CheckboxProps, 'size'>>;
43
42
  /**
44
43
  * `Checkbox` используется для управления параметром с двумя состояниями.
45
44
  *
@@ -49,33 +48,23 @@ type DefaultProps = Required<Pick<CheckboxProps, 'size'>>;
49
48
  export declare class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {
50
49
  static __KONTUR_REACT_UI__: string;
51
50
  static displayName: string;
52
- static defaultProps: DefaultProps;
53
- private getProps;
54
51
  private getRootSizeClassName;
55
52
  private getBoxWrapperSizeClassName;
56
53
  private getCheckboxBoxSize;
57
- static propTypes: {
58
- checked: PropTypes.Requireable<boolean>;
59
- disabled: PropTypes.Requireable<boolean>;
60
- error: PropTypes.Requireable<boolean>;
61
- warning: PropTypes.Requireable<boolean>;
62
- onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
63
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
64
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
65
- onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
66
- onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
67
- };
68
54
  state: {
69
55
  focusedByTab: boolean;
70
56
  indeterminate: boolean;
71
57
  isShiftPressed: boolean;
72
58
  };
59
+ private size;
73
60
  private theme;
74
61
  private input;
62
+ private getProps;
75
63
  private handleShiftPress;
76
64
  private handleShiftRelease;
77
65
  componentDidMount: () => void;
78
66
  componentWillUnmount: () => void;
67
+ getRootNode: TGetRootNode;
79
68
  private setRootNode;
80
69
  componentDidUpdate(prevProps: CheckboxProps): void;
81
70
  render(): React.JSX.Element;
@@ -106,4 +95,3 @@ export declare class Checkbox extends React.PureComponent<CheckboxProps, Checkbo
106
95
  private handleChange;
107
96
  private handleClick;
108
97
  }
109
- export {};
@@ -118,5 +118,6 @@ export var ComboBox = rootNode(_class = (_ComboBox = /*#__PURE__*/function (_Rea
118
118
  menuAlign: 'left',
119
119
  searchOnFocus: true,
120
120
  drawArrow: true,
121
- showClearIcon: 'never'
121
+ showClearIcon: 'never',
122
+ viewMode: 'singleline'
122
123
  }, _ComboBox)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["React","CustomComboBox","rootNode","createPropsGetter","ComboBox","_class","_ComboBox","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","_inheritsLoose","_proto","prototype","focus","opts","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","createElement","_extends","size","props","ref","Component","__KONTUR_REACT_UI__","displayName","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow","showClearIcon"],"sources":["ComboBox.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MenuItemState } from '../MenuItem';\nimport type { ShowClearIcon, InputIconType } from '../Input';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\n\nexport interface ComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Показывать иконку очистки значения в непустом поле:\n * - `always` — всегда показывать иконку\n * - `auto` — показывать иконку при hover/focus\n * - `never` — не показывать иконку\n * При одновременной настройке `showClearIcon` и `rightIcon` показывается иконка очистки.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Задает выравнивание контента. */\n align?: 'left' | 'center' | 'right';\n\n /** Вызывает функцию поиска getItems при фокусе и очистке поля ввода. */\n searchOnFocus?: boolean;\n\n /** Отображает справа иконку в виде стрелки. */\n drawArrow?: boolean;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Убирает обводку. */\n borderless?: boolean;\n\n /** Отключает использование портала для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15 */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Добавляет иконку слева.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Задает функцию поиска элементов, которая должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n * Элементы могут быть любого типа. В этом случае необходимо определить свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`. */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /** Задает функцию сравнения полученных результатов с value. */\n itemToValue?: (item: T) => string | number;\n\n /** Задает максимальную длину инпута. */\n maxLength?: number;\n\n /** Задает текущую позицию выпадающего окна вручную.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает функцию, которая вызывается при потере комбобоксом фокуса. */\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при получении комбобоксом фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода. */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /** Задает функцию для обработки ввода строки в инпут и последующей потерей фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки.\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат valueToString с этим элементом будет совпадать со значение в текстовом поле, то сработает onValueChange со значением данного элемента.\n * Сама функция также может вернуть значение, неравное undefined, с которым будет вызван onValueChange. Если возвращаемое значение будет равно null, то сработает очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает функцию отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n * @param {T} item - элемент из результата поиска.\n * @param {MenuItemState} state? - состояние элемента.\n * @returns {React.ReactNode} React-элемент. */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /** Устанавливает компонент, заменяющий собой обёртку элементов результата поиска.\n * По умолчанию все элементы результата поиска оборачиваются в тег <button />.\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType;\n\n /** Задает функцию, которая отображает сообщение о пустом результате поиска. При renderAddButton не работает. */\n renderNotFound?: () => React.ReactNode;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * @param {number} found - количество элементов по результатам поиска. Учитывает только компонент MenuItem. Им \"оборачиваются\" элементы, возвращаемые getItems().\n * @param {number} total - количество всех элементов. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Задает функцию, которая отображает выбранное значение.\n * @default item => item.label */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке. */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы renderTotalCount. */\n totalCount?: number;\n\n /** Устанавливает выбранное в комбобоксе значение. Тип `value` совпадает с типом элементов в массиве, возвращаемом в `getItems`. */\n value?: Nullable<T>;\n\n /** Задает функцию, которая возвращает строковое представление value. Необходимо при фокусировке. */\n valueToString?: (item: T) => string;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает длину комбобокса. */\n width?: string | number;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n | 'itemToValue'\n | 'valueToString'\n | 'renderValue'\n | 'renderItem'\n | 'menuAlign'\n | 'searchOnFocus'\n | 'drawArrow'\n | 'showClearIcon'\n >\n>;\n\n/**\n * `ComboBox` — это поле ввода со списком подсказок.\n *\n * `ComboBox` используют:\n * * для выбора значения из справочника.\n * * для добавления своего значения в справочник.\n *\n * `ComboBox` может работать в двух режимах — обычном и в режиме автокомплита.\n * Основное их отличие в том, что в режиме автокомплита список вариантов появляется только после ввода первого символа или изменении уже введенного значения.\n */\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n public static displayName = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.comboboxElement) {\n this.comboboxElement.focus(opts);\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render() {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","CustomComboBox","rootNode","createPropsGetter","ComboBox","_class","_ComboBox","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","_inheritsLoose","_proto","prototype","focus","opts","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","createElement","_extends","size","props","ref","Component","__KONTUR_REACT_UI__","displayName","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow","showClearIcon","viewMode"],"sources":["ComboBox.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MenuItemState } from '../MenuItem';\nimport type { ShowClearIcon, InputIconType } from '../Input';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../MaskedInput';\n\nexport type ComboBoxViewMode = 'singleline' | 'multiline' | 'multiline-editing';\n\nexport interface ComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>>,\n CommonProps {\n /** Показывать иконку очистки значения в непустом поле:\n * - `always` — всегда показывать иконку\n * - `auto` — показывать иконку при hover/focus\n * - `never` — не показывать иконку\n * При одновременной настройке `showClearIcon` и `rightIcon` показывается иконка очистки.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Задает выравнивание контента. */\n align?: 'left' | 'center' | 'right';\n\n /** Вызывает функцию поиска getItems при фокусе и очистке поля ввода. */\n searchOnFocus?: boolean;\n\n /** Отображает справа иконку в виде стрелки. */\n drawArrow?: boolean;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Убирает обводку. */\n borderless?: boolean;\n\n /** Отключает использование портала для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15 */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Добавляет иконку слева.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Задает функцию поиска элементов, которая должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n * Элементы могут быть любого типа. В этом случае необходимо определить свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`. */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /** Задает функцию сравнения полученных результатов с value. */\n itemToValue?: (item: T) => string | number;\n\n /** Задает максимальную длину инпута. */\n maxLength?: number;\n\n /** Задает текущую позицию выпадающего окна вручную.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает функцию, которая вызывается при потере комбобоксом фокуса. */\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при получении комбобоксом фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода.\n *\n * **Не рекомендуется менять значение, передаваемое в проп `value`, внутри этой функции. Используйте для этих целей `onValueChange` или `onUnexpectedInput`. Иначе возможно неожиданное поведение компонента.**\n */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /** Задает функцию для обработки ввода строки в инпут и последующей потерей фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки.\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат valueToString с этим элементом будет совпадать со значение в текстовом поле, то сработает onValueChange со значением данного элемента.\n * Сама функция также может вернуть значение, неравное undefined, с которым будет вызван onValueChange. Если возвращаемое значение будет равно null, то сработает очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает функцию отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n * @param {T} item - элемент из результата поиска.\n * @param {MenuItemState} state? - состояние элемента.\n * @returns {React.ReactNode} React-элемент. */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /** Устанавливает компонент, заменяющий собой обёртку элементов результата поиска.\n * По умолчанию все элементы результата поиска оборачиваются в тег <button />.\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType;\n\n /** Задает функцию, которая отображает сообщение о пустом результате поиска. При renderAddButton не работает. */\n renderNotFound?: () => React.ReactNode;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * @param {number} found - количество элементов по результатам поиска. Учитывает только компонент MenuItem. Им \"оборачиваются\" элементы, возвращаемые getItems().\n * @param {number} total - количество всех элементов. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Задает функцию, которая отображает выбранное значение.\n * @default item => item.label */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке. */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы renderTotalCount. */\n totalCount?: number;\n\n /** Устанавливает выбранное в комбобоксе значение. Тип `value` совпадает с типом элементов в массиве, возвращаемом в `getItems`. */\n value?: Nullable<T>;\n\n /** Задает функцию, которая возвращает строковое представление value. Необходимо при фокусировке. */\n valueToString?: (item: T) => string;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает длину комбобокса. */\n width?: string | number;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n /** Задает функцию, которая вызывается при вставке значения в инпут с маской. */\n onBeforePasteInMask?: MaskedInputOnBeforePasteValue;\n\n /** Режим отображения комбобокса\n * - `singleline` — однострочный\n * - `multiline` — многострочный\n * - `multiline-editing` — многострочный только при редактировании\n *\n * multiline-режимы не работают, если указан проп `mask`. В таком случае будет использован однострочный режим.\n * @default singleline */\n viewMode?: ComboBoxViewMode;\n\n /** Максимальное кол-во строк для многострочных режимов отображения комбобокса */\n maxRows?: number;\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n | 'itemToValue'\n | 'valueToString'\n | 'renderValue'\n | 'renderItem'\n | 'menuAlign'\n | 'searchOnFocus'\n | 'drawArrow'\n | 'showClearIcon'\n | 'viewMode'\n >\n>;\n\n/**\n * `ComboBox` — это поле ввода со списком подсказок.\n *\n * `ComboBox` используют:\n * * для выбора значения из справочника.\n * * для добавления своего значения в справочник.\n *\n * `ComboBox` может работать в двух режимах — обычном и в режиме автокомплита.\n * Основное их отличие в том, что в режиме автокомплита список вариантов появляется только после ввода первого символа или изменении уже введенного значения.\n */\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n public static displayName = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n showClearIcon: 'never',\n viewMode: 'singleline',\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.comboboxElement) {\n this.comboboxElement.focus(opts);\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render() {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,8 +4,11 @@ import type { Nullable } from '../../typings/utility-types';
4
4
  import type { MenuItemState } from '../MenuItem';
5
5
  import type { ShowClearIcon, InputIconType } from '../Input';
6
6
  import type { CommonProps } from '../../internal/CommonWrapper';
7
+ import type { TGetRootNode } from '../../lib/rootNode';
7
8
  import type { SizeProp } from '../../lib/types/props';
8
- export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps {
9
+ import type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../MaskedInput';
10
+ export type ComboBoxViewMode = 'singleline' | 'multiline' | 'multiline-editing';
11
+ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>>, CommonProps {
9
12
  /** Показывать иконку очистки значения в непустом поле:
10
13
  * - `always` — всегда показывать иконку
11
14
  * - `auto` — показывать иконку при hover/focus
@@ -57,7 +60,10 @@ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby
57
60
  onValueChange?: (value: T) => void;
58
61
  /** Задает функцию, которая вызывается при получении комбобоксом фокуса. */
59
62
  onFocus?: () => void;
60
- /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода. */
63
+ /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода.
64
+ *
65
+ * **Не рекомендуется менять значение, передаваемое в проп `value`, внутри этой функции. Используйте для этих целей `onValueChange` или `onUnexpectedInput`. Иначе возможно неожиданное поведение компонента.**
66
+ */
61
67
  onInputValueChange?: (value: string) => Nullable<string> | void;
62
68
  /** Задает функцию для обработки ввода строки в инпут и последующей потерей фокуса компонентом.
63
69
  * Функция срабатывает с аргументом инпута строки.
@@ -120,13 +126,25 @@ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby
120
126
  onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
121
127
  /** Задает типы вводимых данных. */
122
128
  inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
129
+ /** Задает функцию, которая вызывается при вставке значения в инпут с маской. */
130
+ onBeforePasteInMask?: MaskedInputOnBeforePasteValue;
131
+ /** Режим отображения комбобокса
132
+ * - `singleline` — однострочный
133
+ * - `multiline` — многострочный
134
+ * - `multiline-editing` — многострочный только при редактировании
135
+ *
136
+ * multiline-режимы не работают, если указан проп `mask`. В таком случае будет использован однострочный режим.
137
+ * @default singleline */
138
+ viewMode?: ComboBoxViewMode;
139
+ /** Максимальное кол-во строк для многострочных режимов отображения комбобокса */
140
+ maxRows?: number;
123
141
  }
124
142
  export interface ComboBoxItem {
125
143
  value: string;
126
144
  label: string;
127
145
  }
128
146
  export type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;
129
- type DefaultProps<T> = Required<Pick<ComboBoxProps<T>, 'itemToValue' | 'valueToString' | 'renderValue' | 'renderItem' | 'menuAlign' | 'searchOnFocus' | 'drawArrow' | 'showClearIcon'>>;
147
+ type DefaultProps<T> = Required<Pick<ComboBoxProps<T>, 'itemToValue' | 'valueToString' | 'renderValue' | 'renderItem' | 'menuAlign' | 'searchOnFocus' | 'drawArrow' | 'showClearIcon' | 'viewMode'>>;
130
148
  /**
131
149
  * `ComboBox` — это поле ввода со списком подсказок.
132
150
  *
@@ -143,6 +161,7 @@ export declare class ComboBox<T = ComboBoxItem> extends React.Component<ComboBox
143
161
  static defaultProps: DefaultProps<any>;
144
162
  private getProps;
145
163
  private comboboxElement;
164
+ getRootNode: TGetRootNode;
146
165
  private setRootNode;
147
166
  /**
148
167
  * @public
@@ -4,7 +4,6 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  var _excluded = ["fractionDigits", "signed", "onSubmit", "integerDigits", "hideTrailingZeros"];
5
5
  var _class, _CurrencyInput;
6
6
  import React from 'react';
7
- import PropTypes from 'prop-types';
8
7
  import warning from 'warning';
9
8
  import debounce from 'lodash.debounce';
10
9
  import { globalObject } from '@skbkontur/global-object';
@@ -34,6 +33,9 @@ export var CurrencyInputDataTids = {
34
33
  *
35
34
  * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
36
35
  *
36
+ * **Почему 15?** Максимальное безопасное целочисленное значение - 9007199254740991 (16 цифр). Убрав один разряд под знак, мы получим "новое" максимальное безопасное значение - 999999999999999 (15 цифр).
37
+ * При этом десятичный резделитель может находиться в любом месте. Если целая часть равна 0, то она не учитывается. Детали можно почитать здесь - [MDN web docs](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER).
38
+ *
37
39
  * Если `fractionDigits=15`, то в целой части допускается **0**.
38
40
  */
39
41
  export var CurrencyInput = rootNode(_class = (_CurrencyInput = /*#__PURE__*/function (_React$PureComponent) {
@@ -300,6 +302,7 @@ export var CurrencyInput = rootNode(_class = (_CurrencyInput = /*#__PURE__*/func
300
302
  var selection = _this.getSelection(event.target);
301
303
  _this.inputValue(selection.start, selection.end, data);
302
304
  event.preventDefault();
305
+ _this.props.onPaste == null || _this.props.onPaste(event);
303
306
  };
304
307
  _this.handleCopy = function (event) {
305
308
  var selection = _this.getSelection(event.target);
@@ -356,20 +359,21 @@ export var CurrencyInput = rootNode(_class = (_CurrencyInput = /*#__PURE__*/func
356
359
  }
357
360
  _inheritsLoose(CurrencyInput, _React$PureComponent);
358
361
  var _proto = CurrencyInput.prototype;
362
+ _proto.validateProps = function validateProps(props) {
363
+ warning(isNumeric(props.value) || isNullable(props.value), '[CurrencyInput]: Prop `value` is not a valid number. Received value is `' + props.value + '`.');
364
+ warning(props.maxLength === undefined, "[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'");
365
+ warning((props.integerDigits || 0) + (props.fractionDigits || 0) <= MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee CurrencyInput documentation");
366
+ };
359
367
  _proto.componentDidMount = function componentDidMount() {
360
- var _this$props = this.props,
361
- maxLength = _this$props.maxLength,
362
- integerDigits = _this$props.integerDigits;
363
- var fractionDigits = this.getProps().fractionDigits;
364
- warning(maxLength === undefined, "[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'");
365
- warning((integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");
368
+ this.validateProps(this.getProps());
366
369
  };
367
370
  _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
368
371
  var _this$getProps = this.getProps(),
369
372
  value = _this$getProps.value,
370
373
  fractionDigits = _this$getProps.fractionDigits,
371
374
  hideTrailingZeros = _this$getProps.hideTrailingZeros;
372
- if (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {
375
+ this.validateProps(this.getProps());
376
+ if (isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {
373
377
  this.setState(this.getState(value, fractionDigits, hideTrailingZeros));
374
378
  }
375
379
  if (isNonNullable(prevProps.value) && isNullable(value)) {
@@ -409,31 +413,7 @@ export var CurrencyInput = rootNode(_class = (_CurrencyInput = /*#__PURE__*/func
409
413
  });
410
414
  };
411
415
  return CurrencyInput;
412
- }(React.PureComponent), _CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput', _CurrencyInput.displayName = 'CurrencyInput', _CurrencyInput.propTypes = {
413
- align: PropTypes.oneOf(['left', 'center', 'right']),
414
- autoFocus: PropTypes.bool,
415
- borderless: PropTypes.bool,
416
- disabled: PropTypes.bool,
417
- error: PropTypes.bool,
418
- fractionDigits: PropTypes.number,
419
- hideTrailingZeros: PropTypes.bool,
420
- leftIcon: PropTypes.element,
421
- placeholder: PropTypes.string,
422
- signed: PropTypes.bool,
423
- size: PropTypes.oneOf(['small', 'medium', 'large']),
424
- value: function value(props) {
425
- warning(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');
426
- },
427
- warning: PropTypes.bool,
428
- width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
429
- onBlur: PropTypes.func,
430
- onValueChange: PropTypes.func.isRequired,
431
- onFocus: PropTypes.func,
432
- onMouseEnter: PropTypes.func,
433
- onMouseLeave: PropTypes.func,
434
- onMouseOver: PropTypes.func,
435
- onSubmit: PropTypes.func
436
- }, _CurrencyInput.defaultProps = {
416
+ }(React.PureComponent), _CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput', _CurrencyInput.displayName = 'CurrencyInput', _CurrencyInput.defaultProps = {
437
417
  align: 'right',
438
418
  fractionDigits: 2,
439
419
  hideTrailingZeros: false,
@@ -454,9 +434,6 @@ function getInputSelectionFromEvent(input) {
454
434
  function isNumeric(value) {
455
435
  return !isNaN(parseFloat(value)) && isFinite(value);
456
436
  }
457
- function isValidNumber(value) {
458
- return !isNaN(Number(value));
459
- }
460
437
  var getPlaceholder = function getPlaceholder(props) {
461
438
  if (isNullable(props.placeholder)) {
462
439
  return CurrencyHelper.format(0, {