@skbkontur/react-ui 4.1.1 → 4.1.2-fix-zindex

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 (473) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +12 -3
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +3 -0
  6. package/cjs/components/Button/Button.js +7 -3
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Center/Center.d.ts +3 -0
  9. package/cjs/components/Center/Center.js +8 -3
  10. package/cjs/components/Center/Center.js.map +1 -1
  11. package/cjs/components/Checkbox/Checkbox.d.ts +8 -0
  12. package/cjs/components/Checkbox/Checkbox.js +37 -3
  13. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  14. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
  15. package/cjs/components/Checkbox/Checkbox.styles.js +23 -17
  16. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  17. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  18. package/cjs/components/CurrencyInput/CurrencyInput.js +8 -3
  19. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  20. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  21. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
  22. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  23. package/cjs/components/DateInput/DateInput.js +5 -1
  24. package/cjs/components/DateInput/DateInput.js.map +1 -1
  25. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  26. package/cjs/components/DateInput/helpers/InternalDateMediator.js +7 -3
  27. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  28. package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
  29. package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
  30. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  31. package/cjs/components/DatePicker/DatePicker.d.ts +5 -0
  32. package/cjs/components/DatePicker/DatePicker.js +14 -3
  33. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  34. package/cjs/components/DatePicker/Picker.js +7 -2
  35. package/cjs/components/DatePicker/Picker.js.map +1 -1
  36. package/cjs/components/Dropdown/Dropdown.d.ts +3 -0
  37. package/cjs/components/Dropdown/Dropdown.js +7 -2
  38. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  39. package/cjs/components/FileUploader/FileUploader.d.ts +5 -0
  40. package/cjs/components/FileUploader/FileUploader.js +10 -4
  41. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  42. package/cjs/components/FxInput/FxInput.d.ts +3 -0
  43. package/cjs/components/FxInput/FxInput.js +7 -3
  44. package/cjs/components/FxInput/FxInput.js.map +1 -1
  45. package/cjs/components/Gapped/Gapped.d.ts +4 -0
  46. package/cjs/components/Gapped/Gapped.js +11 -5
  47. package/cjs/components/Gapped/Gapped.js.map +1 -1
  48. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  49. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  50. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  51. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
  52. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  53. package/cjs/components/Group/Group.d.ts +3 -0
  54. package/cjs/components/Group/Group.js +7 -3
  55. package/cjs/components/Group/Group.js.map +1 -1
  56. package/cjs/components/Input/Input.d.ts +3 -0
  57. package/cjs/components/Input/Input.js +7 -3
  58. package/cjs/components/Input/Input.js.map +1 -1
  59. package/cjs/components/Link/Link.d.ts +3 -0
  60. package/cjs/components/Link/Link.js +7 -3
  61. package/cjs/components/Link/Link.js.map +1 -1
  62. package/cjs/components/Loader/Loader.d.ts +4 -0
  63. package/cjs/components/Loader/Loader.js +8 -3
  64. package/cjs/components/Loader/Loader.js.map +1 -1
  65. package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
  66. package/cjs/components/MenuHeader/MenuHeader.js +7 -2
  67. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  68. package/cjs/components/MenuItem/MenuItem.d.ts +4 -0
  69. package/cjs/components/MenuItem/MenuItem.js +10 -4
  70. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  71. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  72. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
  73. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  74. package/cjs/components/Modal/Modal.d.ts +5 -0
  75. package/cjs/components/Modal/Modal.js +9 -3
  76. package/cjs/components/Modal/Modal.js.map +1 -1
  77. package/cjs/components/Modal/ModalClose.js +3 -2
  78. package/cjs/components/Modal/ModalClose.js.map +1 -1
  79. package/cjs/components/Modal/ModalFooter.d.ts +3 -0
  80. package/cjs/components/Modal/ModalFooter.js +7 -2
  81. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  82. package/cjs/components/Modal/ModalHeader.d.ts +3 -0
  83. package/cjs/components/Modal/ModalHeader.js +8 -2
  84. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  85. package/cjs/components/Paging/Paging.d.ts +8 -1
  86. package/cjs/components/Paging/Paging.js +15 -7
  87. package/cjs/components/Paging/Paging.js.map +1 -1
  88. package/cjs/components/PasswordInput/PasswordInput.d.ts +6 -1
  89. package/cjs/components/PasswordInput/PasswordInput.js +21 -15
  90. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  91. package/cjs/components/PasswordInput/PasswordInputIcon.js +5 -1
  92. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  93. package/cjs/components/Radio/Radio.d.ts +3 -0
  94. package/cjs/components/Radio/Radio.js +7 -3
  95. package/cjs/components/Radio/Radio.js.map +1 -1
  96. package/cjs/components/RadioGroup/RadioGroup.d.ts +9 -0
  97. package/cjs/components/RadioGroup/RadioGroup.js +21 -4
  98. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  99. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  100. package/cjs/components/ScrollContainer/ScrollContainer.js +14 -4
  101. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  102. package/cjs/components/Select/Select.d.ts +3 -0
  103. package/cjs/components/Select/Select.js +14 -6
  104. package/cjs/components/Select/Select.js.map +1 -1
  105. package/cjs/components/SidePage/SidePage.d.ts +4 -0
  106. package/cjs/components/SidePage/SidePage.js +7 -2
  107. package/cjs/components/SidePage/SidePage.js.map +1 -1
  108. package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
  109. package/cjs/components/SidePage/SidePageBody.js +10 -3
  110. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  111. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  112. package/cjs/components/SidePage/SidePageContainer.js +7 -2
  113. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  114. package/cjs/components/SidePage/SidePageFooter.d.ts +3 -0
  115. package/cjs/components/SidePage/SidePageFooter.js +11 -3
  116. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  117. package/cjs/components/SidePage/SidePageHeader.d.ts +4 -0
  118. package/cjs/components/SidePage/SidePageHeader.js +9 -4
  119. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  120. package/cjs/components/Spinner/Spinner.d.ts +3 -0
  121. package/cjs/components/Spinner/Spinner.js +7 -3
  122. package/cjs/components/Spinner/Spinner.js.map +1 -1
  123. package/cjs/components/Sticky/Sticky.d.ts +3 -0
  124. package/cjs/components/Sticky/Sticky.js +7 -3
  125. package/cjs/components/Sticky/Sticky.js.map +1 -1
  126. package/cjs/components/Switcher/Switcher.d.ts +3 -0
  127. package/cjs/components/Switcher/Switcher.js +7 -3
  128. package/cjs/components/Switcher/Switcher.js.map +1 -1
  129. package/cjs/components/Tabs/Indicator.js +4 -2
  130. package/cjs/components/Tabs/Indicator.js.map +1 -1
  131. package/cjs/components/Tabs/Tab.d.ts +3 -0
  132. package/cjs/components/Tabs/Tab.js +7 -2
  133. package/cjs/components/Tabs/Tab.js.map +1 -1
  134. package/cjs/components/Tabs/Tabs.d.ts +4 -0
  135. package/cjs/components/Tabs/Tabs.js +12 -3
  136. package/cjs/components/Tabs/Tabs.js.map +1 -1
  137. package/cjs/components/Textarea/Textarea.d.ts +4 -0
  138. package/cjs/components/Textarea/Textarea.js +8 -3
  139. package/cjs/components/Textarea/Textarea.js.map +1 -1
  140. package/cjs/components/Textarea/TextareaCounter.js +6 -6
  141. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  142. package/cjs/components/Toast/Toast.d.ts +6 -0
  143. package/cjs/components/Toast/Toast.js +9 -2
  144. package/cjs/components/Toast/Toast.js.map +1 -1
  145. package/cjs/components/Toast/ToastStatic.js +1 -1
  146. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  147. package/cjs/components/Toast/ToastView.js +5 -4
  148. package/cjs/components/Toast/ToastView.js.map +1 -1
  149. package/cjs/components/Toggle/Toggle.d.ts +3 -0
  150. package/cjs/components/Toggle/Toggle.js +7 -3
  151. package/cjs/components/Toggle/Toggle.js.map +1 -1
  152. package/cjs/components/Token/Token.d.ts +3 -0
  153. package/cjs/components/Token/Token.js +8 -3
  154. package/cjs/components/Token/Token.js.map +1 -1
  155. package/cjs/components/TokenInput/TokenInput.d.ts +14 -0
  156. package/cjs/components/TokenInput/TokenInput.js +23 -3
  157. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  158. package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
  159. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  160. package/cjs/components/Tooltip/Tooltip.d.ts +3 -0
  161. package/cjs/components/Tooltip/Tooltip.js +7 -2
  162. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  163. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -0
  164. package/cjs/components/TooltipMenu/TooltipMenu.js +7 -2
  165. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  166. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  167. package/cjs/internal/Calendar/Calendar.js +9 -2
  168. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  169. package/cjs/internal/Calendar/MonthView.js +5 -4
  170. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  171. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  172. package/cjs/internal/CommonWrapper/CommonWrapper.js +4 -2
  173. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  174. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  175. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +23 -5
  176. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  177. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
  178. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  179. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  180. package/cjs/internal/CustomComboBox/CustomComboBox.js +6 -2
  181. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  182. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  183. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  184. package/cjs/internal/DataTids/DataTids.js +46 -0
  185. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  186. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  187. package/cjs/internal/DataTids/DataTids.styles.js +41 -0
  188. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  189. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  190. package/cjs/internal/DataTids/componentsDataTids.js +16 -0
  191. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  192. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
  193. package/cjs/internal/DateSelect/DateSelect.js +8 -3
  194. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  195. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  196. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +14 -6
  197. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  198. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  199. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +6 -2
  200. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  201. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -0
  202. package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
  203. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  204. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
  205. package/cjs/internal/InternalMenu/InternalMenu.js +9 -8
  206. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  207. package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
  208. package/cjs/internal/MaskedInput/MaskedInput.js +11 -5
  209. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  210. package/cjs/internal/Menu/Menu.d.ts +3 -0
  211. package/cjs/internal/Menu/Menu.js +10 -8
  212. package/cjs/internal/Menu/Menu.js.map +1 -1
  213. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  214. package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
  215. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  216. package/cjs/internal/Popup/Popup.d.ts +5 -0
  217. package/cjs/internal/Popup/Popup.js +10 -4
  218. package/cjs/internal/Popup/Popup.js.map +1 -1
  219. package/cjs/internal/Popup/PopupPin.js +2 -1
  220. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  221. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  222. package/cjs/internal/PopupMenu/PopupMenu.js +9 -4
  223. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  224. package/cjs/internal/ZIndex/ZIndex.d.ts +8 -0
  225. package/cjs/internal/ZIndex/ZIndex.js +25 -3
  226. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  227. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  228. package/cjs/lib/date/InternalDateGetter.js +4 -1
  229. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  230. package/cjs/lib/date/InternalDateValidator.js +32 -22
  231. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  232. package/cjs/lib/date/types.d.ts +4 -0
  233. package/cjs/lib/date/types.js.map +1 -1
  234. package/cjs/lib/events/MouseDrag.js +5 -1
  235. package/cjs/lib/events/MouseDrag.js.map +1 -1
  236. package/components/Autocomplete/Autocomplete/Autocomplete.js +10 -6
  237. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  238. package/components/Autocomplete/Autocomplete.d.ts +3 -0
  239. package/components/Button/Button/Button.js +4 -0
  240. package/components/Button/Button/Button.js.map +1 -1
  241. package/components/Button/Button.d.ts +3 -0
  242. package/components/Center/Center/Center.js +10 -5
  243. package/components/Center/Center/Center.js.map +1 -1
  244. package/components/Center/Center.d.ts +3 -0
  245. package/components/Checkbox/Checkbox/Checkbox.js +33 -2
  246. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  247. package/components/Checkbox/Checkbox.d.ts +8 -0
  248. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +20 -17
  249. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  250. package/components/Checkbox/Checkbox.styles.d.ts +1 -0
  251. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -10
  252. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  253. package/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  254. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
  255. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  256. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  257. package/components/DateInput/DateInput/DateInput.js +9 -1
  258. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  259. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +9 -3
  260. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  261. package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  262. package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
  263. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  264. package/components/DateInput/helpers/inputNumber.d.ts +1 -1
  265. package/components/DatePicker/DatePicker/DatePicker.js +6 -0
  266. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  267. package/components/DatePicker/DatePicker.d.ts +5 -0
  268. package/components/DatePicker/Picker/Picker.js +3 -1
  269. package/components/DatePicker/Picker/Picker.js.map +1 -1
  270. package/components/Dropdown/Dropdown/Dropdown.js +9 -5
  271. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  272. package/components/Dropdown/Dropdown.d.ts +3 -0
  273. package/components/FileUploader/FileUploader/FileUploader.js +9 -2
  274. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  275. package/components/FileUploader/FileUploader.d.ts +5 -0
  276. package/components/FxInput/FxInput/FxInput.js +6 -2
  277. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  278. package/components/FxInput/FxInput.d.ts +3 -0
  279. package/components/Gapped/Gapped/Gapped.js +14 -6
  280. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  281. package/components/Gapped/Gapped.d.ts +4 -0
  282. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +4 -1
  283. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  284. package/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  285. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
  286. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
  287. package/components/Group/Group/Group.js +4 -0
  288. package/components/Group/Group/Group.js.map +1 -1
  289. package/components/Group/Group.d.ts +3 -0
  290. package/components/Input/Input/Input.js +11 -6
  291. package/components/Input/Input/Input.js.map +1 -1
  292. package/components/Input/Input.d.ts +3 -0
  293. package/components/Link/Link/Link.js +10 -5
  294. package/components/Link/Link/Link.js.map +1 -1
  295. package/components/Link/Link.d.ts +3 -0
  296. package/components/Loader/Loader/Loader.js +10 -6
  297. package/components/Loader/Loader/Loader.js.map +1 -1
  298. package/components/Loader/Loader.d.ts +4 -0
  299. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  300. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  301. package/components/MenuHeader/MenuHeader.d.ts +3 -0
  302. package/components/MenuItem/MenuItem/MenuItem.js +15 -9
  303. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  304. package/components/MenuItem/MenuItem.d.ts +4 -0
  305. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
  306. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  307. package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  308. package/components/Modal/Modal/Modal.js +7 -2
  309. package/components/Modal/Modal/Modal.js.map +1 -1
  310. package/components/Modal/Modal.d.ts +5 -0
  311. package/components/Modal/ModalClose/ModalClose.js +2 -1
  312. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  313. package/components/Modal/ModalFooter/ModalFooter.js +4 -0
  314. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  315. package/components/Modal/ModalFooter.d.ts +3 -0
  316. package/components/Modal/ModalHeader/ModalHeader.js +4 -0
  317. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  318. package/components/Modal/ModalHeader.d.ts +3 -0
  319. package/components/Paging/Paging/Paging.js +12 -5
  320. package/components/Paging/Paging/Paging.js.map +1 -1
  321. package/components/Paging/Paging.d.ts +8 -1
  322. package/components/PasswordInput/PasswordInput/PasswordInput.js +24 -19
  323. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  324. package/components/PasswordInput/PasswordInput.d.ts +6 -1
  325. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +8 -3
  326. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
  327. package/components/Radio/Radio/Radio.js +10 -5
  328. package/components/Radio/Radio/Radio.js.map +1 -1
  329. package/components/Radio/Radio.d.ts +3 -0
  330. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -11
  331. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  332. package/components/RadioGroup/RadioGroup.d.ts +9 -0
  333. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -1
  334. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  335. package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  336. package/components/Select/Select/Select.js +9 -3
  337. package/components/Select/Select/Select.js.map +1 -1
  338. package/components/Select/Select.d.ts +3 -0
  339. package/components/SidePage/SidePage/SidePage.js +6 -2
  340. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  341. package/components/SidePage/SidePage.d.ts +4 -0
  342. package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
  343. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  344. package/components/SidePage/SidePageBody.d.ts +3 -0
  345. package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
  346. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  347. package/components/SidePage/SidePageContainer.d.ts +3 -0
  348. package/components/SidePage/SidePageFooter/SidePageFooter.js +10 -6
  349. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  350. package/components/SidePage/SidePageFooter.d.ts +3 -0
  351. package/components/SidePage/SidePageHeader/SidePageHeader.js +12 -7
  352. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  353. package/components/SidePage/SidePageHeader.d.ts +4 -0
  354. package/components/Spinner/Spinner/Spinner.js +8 -4
  355. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  356. package/components/Spinner/Spinner.d.ts +3 -0
  357. package/components/Sticky/Sticky/Sticky.js +4 -0
  358. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  359. package/components/Sticky/Sticky.d.ts +3 -0
  360. package/components/Switcher/Switcher/Switcher.js +4 -0
  361. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  362. package/components/Switcher/Switcher.d.ts +3 -0
  363. package/components/Tabs/Indicator/Indicator.js +2 -0
  364. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  365. package/components/Tabs/Tab/Tab.js +4 -0
  366. package/components/Tabs/Tab/Tab.js.map +1 -1
  367. package/components/Tabs/Tab.d.ts +3 -0
  368. package/components/Tabs/Tabs/Tabs.js +11 -6
  369. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  370. package/components/Tabs/Tabs.d.ts +4 -0
  371. package/components/Textarea/Textarea/Textarea.js +15 -9
  372. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  373. package/components/Textarea/Textarea.d.ts +4 -0
  374. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -0
  375. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  376. package/components/Toast/Toast/Toast.js +16 -10
  377. package/components/Toast/Toast/Toast.js.map +1 -1
  378. package/components/Toast/Toast.d.ts +6 -0
  379. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  380. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  381. package/components/Toast/ToastView/ToastView.js +4 -3
  382. package/components/Toast/ToastView/ToastView.js.map +1 -1
  383. package/components/Toggle/Toggle/Toggle.js +8 -4
  384. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  385. package/components/Toggle/Toggle.d.ts +3 -0
  386. package/components/Token/Token/Token.js +4 -0
  387. package/components/Token/Token/Token.js.map +1 -1
  388. package/components/Token/Token.d.ts +3 -0
  389. package/components/TokenInput/TokenInput/TokenInput.js +11 -2
  390. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  391. package/components/TokenInput/TokenInput.d.ts +14 -0
  392. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
  393. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  394. package/components/Tooltip/Tooltip/Tooltip.js +4 -0
  395. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  396. package/components/Tooltip/Tooltip.d.ts +3 -0
  397. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +16 -12
  398. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  399. package/components/TooltipMenu/TooltipMenu.d.ts +3 -0
  400. package/internal/Calendar/Calendar/Calendar.js +7 -1
  401. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  402. package/internal/Calendar/Calendar.d.ts +6 -0
  403. package/internal/Calendar/MonthView/MonthView.js +4 -3
  404. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  405. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +4 -5
  406. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  407. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  408. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +12 -5
  409. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  410. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  411. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  412. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  413. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -0
  414. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  415. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  416. package/internal/DataTids/DATATIDS.md +12 -0
  417. package/internal/DataTids/DataTids/DataTids.js +69 -0
  418. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  419. package/internal/DataTids/DataTids/package.json +6 -0
  420. package/internal/DataTids/DataTids.d.ts +12 -0
  421. package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
  422. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  423. package/internal/DataTids/DataTids.styles/package.json +6 -0
  424. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  425. package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
  426. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  427. package/internal/DataTids/componentsDataTids/package.json +6 -0
  428. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  429. package/internal/DateSelect/DateSelect/DateSelect.js +6 -2
  430. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  431. package/internal/DateSelect/DateSelect.d.ts +4 -0
  432. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +12 -5
  433. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  434. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  435. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -1
  436. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  437. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  438. package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
  439. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  440. package/internal/InputLikeText/InputLikeText.d.ts +4 -0
  441. package/internal/InternalMenu/InternalMenu/InternalMenu.js +6 -6
  442. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  443. package/internal/InternalMenu/InternalMenu.d.ts +3 -0
  444. package/internal/MaskedInput/MaskedInput/MaskedInput.js +8 -2
  445. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  446. package/internal/MaskedInput/MaskedInput.d.ts +3 -0
  447. package/internal/Menu/Menu/Menu.js +6 -5
  448. package/internal/Menu/Menu/Menu.js.map +1 -1
  449. package/internal/Menu/Menu.d.ts +3 -0
  450. package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
  451. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  452. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  453. package/internal/Popup/Popup/Popup.js +7 -2
  454. package/internal/Popup/Popup/Popup.js.map +1 -1
  455. package/internal/Popup/Popup.d.ts +5 -0
  456. package/internal/Popup/PopupPin/PopupPin.js +2 -0
  457. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  458. package/internal/PopupMenu/PopupMenu/PopupMenu.js +7 -2
  459. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  460. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  461. package/internal/ZIndex/ZIndex/ZIndex.js +23 -8
  462. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  463. package/internal/ZIndex/ZIndex.d.ts +8 -0
  464. package/lib/date/InternalDateGetter/InternalDateGetter.js +3 -1
  465. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  466. package/lib/date/InternalDateGetter.d.ts +1 -1
  467. package/lib/date/InternalDateValidator/InternalDateValidator.js +55 -41
  468. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  469. package/lib/date/types/types.js.map +1 -1
  470. package/lib/date/types.d.ts +4 -0
  471. package/lib/events/MouseDrag/MouseDrag.js +5 -1
  472. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  473. package/package.json +3 -5
@@ -4,7 +4,7 @@ var _callChildRef = require("../../lib/callChildRef/callChildRef");
4
4
  var _rootNode = require("../../lib/rootNode");
5
5
  var _client = require("../../lib/client");
6
6
 
7
- var _ZIndexStorage = require("./ZIndexStorage");var _excluded = ["style", "children", "delta", "priority", "applyZIndex", "coverChildren", "createStackingContext", "wrapperRef"];var _class, _class2, _temp;
7
+ var _ZIndexStorage = require("./ZIndexStorage");var _excluded = ["style", "children", "delta", "priority", "applyZIndex", "coverChildren", "createStackingContext", "wrapperRef", "contextOnly"];var _class, _class2, _temp;
8
8
 
9
9
  var ZIndexContext = /*#__PURE__*/_react.default.createContext({ parentLayerZIndex: 0, maxZIndex: Infinity });
10
10
 
@@ -22,6 +22,13 @@ ZIndexContext.displayName = 'ZIndexContext';var
22
22
 
23
23
 
24
24
 
25
+
26
+
27
+
28
+
29
+
30
+
31
+
25
32
 
26
33
 
27
34
 
@@ -50,6 +57,7 @@ ZIndex = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
50
57
 
51
58
 
52
59
 
60
+
53
61
 
54
62
 
55
63
  function ZIndex(props) {var _this;
@@ -93,6 +101,20 @@ ZIndex = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
93
101
 
94
102
 
95
103
 
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
96
118
 
97
119
 
98
120
 
@@ -112,7 +134,7 @@ ZIndex = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
112
134
  var wrapperRef = _this.props.wrapperRef;
113
135
  _this.setRootNode(element);
114
136
  wrapperRef && (0, _callChildRef.callChildRef)(wrapperRef, element);
115
- };_this.zIndex = (0, _ZIndexStorage.incrementZIndex)(props.priority, props.delta);return _this;}var _proto = ZIndex.prototype;_proto.componentWillUnmount = function componentWillUnmount() {(0, _ZIndexStorage.removeZIndex)(this.zIndex);};_proto.render = function render() {var _this2 = this;var _this$props = this.props,style = _this$props.style,children = _this$props.children,delta = _this$props.delta,priority = _this$props.priority,applyZIndex = _this$props.applyZIndex,coverChildren = _this$props.coverChildren,createStackingContext = _this$props.createStackingContext,wrapperRef = _this$props.wrapperRef,props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded);var wrapperStyle = {};return /*#__PURE__*/_react.default.createElement(ZIndexContext.Consumer, null, function (_ref) {var parentLayerZIndex = _ref.parentLayerZIndex,maxZIndex = _ref.maxZIndex;var zIndexContexValue = { parentLayerZIndex: parentLayerZIndex, maxZIndex: maxZIndex };if (applyZIndex) {var newZIndex = _this2.calcZIndex(parentLayerZIndex, maxZIndex);wrapperStyle.zIndex = newZIndex;zIndexContexValue = coverChildren ? { parentLayerZIndex: parentLayerZIndex, maxZIndex: newZIndex } : { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };if (createStackingContext) {_client.isBrowser && 'isolation' in document.body.style ? wrapperStyle.isolation = 'isolate' : wrapperStyle.transform = 'rotate(0)';}}return /*#__PURE__*/_react.default.createElement(ZIndexContext.Provider, { value: zIndexContexValue }, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ style: (0, _extends2.default)({}, style, wrapperStyle), ref: _this2.wrapperRef }, props), children));});};_proto.
137
+ };_this.zIndex = (0, _ZIndexStorage.incrementZIndex)(props.priority, props.delta);return _this;}var _proto = ZIndex.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.priority !== this.props.priority || prevProps.delta !== this.props.delta) {var newZIndex = (0, _ZIndexStorage.incrementZIndex)(this.props.priority, this.props.delta);if (this.zIndex !== newZIndex) {(0, _ZIndexStorage.removeZIndex)(this.zIndex);this.zIndex = newZIndex;this.forceUpdate();}}};_proto.componentWillUnmount = function componentWillUnmount() {(0, _ZIndexStorage.removeZIndex)(this.zIndex);};_proto.render = function render() {var _this2 = this;var _this$props = this.props,style = _this$props.style,children = _this$props.children,delta = _this$props.delta,priority = _this$props.priority,applyZIndex = _this$props.applyZIndex,coverChildren = _this$props.coverChildren,createStackingContext = _this$props.createStackingContext,wrapperRef = _this$props.wrapperRef,contextOnly = _this$props.contextOnly,props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded);var wrapperStyle = {};return /*#__PURE__*/_react.default.createElement(ZIndexContext.Consumer, null, function (_ref) {var parentLayerZIndex = _ref.parentLayerZIndex,maxZIndex = _ref.maxZIndex;var zIndexContextValue = { parentLayerZIndex: parentLayerZIndex, maxZIndex: maxZIndex };if (applyZIndex) {var newZIndex = _this2.calcZIndex(parentLayerZIndex, maxZIndex);wrapperStyle.zIndex = newZIndex;zIndexContextValue = coverChildren ? { parentLayerZIndex: parentLayerZIndex, maxZIndex: newZIndex } : { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };if (createStackingContext) {_client.isBrowser && 'isolation' in document.body.style ? wrapperStyle.isolation = 'isolate' : wrapperStyle.transform = 'rotate(0)';}}var child = contextOnly ? children : /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ style: (0, _extends2.default)({}, style, wrapperStyle), ref: _this2.wrapperRef }, props), children);return /*#__PURE__*/_react.default.createElement(ZIndexContext.Provider, { value: zIndexContextValue }, child);});};_proto.
116
138
 
117
139
  calcZIndex = function calcZIndex(parentLayerZIndex, maxZIndex) {
118
140
  var newZIndex = this.zIndex;
@@ -126,4 +148,4 @@ ZIndex = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
126
148
  newZIndex += parentLayerZIndex;
127
149
 
128
150
  return newZIndex;
129
- };return ZIndex;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'ZIndex', _class2.defaultProps = { delta: 10, priority: 0, style: {}, applyZIndex: true, coverChildren: false, createStackingContext: false }, _class2.propTypes = { delta: function delta(props) {if (props.delta <= 0) {return new Error("[ZIndex]: Prop 'delta' must be greater than 0, received " + props.delta);}if (Math.trunc(props.delta) !== props.delta) {return new Error("[ZIndex]: Prop 'delta' must be integer, received " + props.delta);}} }, _temp)) || _class;exports.ZIndex = ZIndex;
151
+ };return ZIndex;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'ZIndex', _class2.defaultProps = { delta: 10, priority: 0, style: {}, applyZIndex: true, coverChildren: false, createStackingContext: false, contextOnly: false }, _class2.propTypes = { delta: function delta(props) {if (props.delta <= 0) {return new Error("[ZIndex]: Prop 'delta' must be greater than 0, received " + props.delta);}if (Math.trunc(props.delta) !== props.delta) {return new Error("[ZIndex]: Prop 'delta' must be integer, received " + props.delta);}} }, _temp)) || _class;exports.ZIndex = ZIndex;
@@ -1 +1 @@
1
- {"version":3,"sources":["ZIndex.tsx"],"names":["ZIndexContext","React","createContext","parentLayerZIndex","maxZIndex","Infinity","displayName","ZIndex","rootNode","props","zIndex","wrapperRef","element","setRootNode","priority","delta","componentWillUnmount","render","style","children","applyZIndex","coverChildren","createStackingContext","wrapperStyle","zIndexContexValue","newZIndex","calcZIndex","Number","isFinite","isBrowser","document","body","isolation","transform","allowedValuesIntervalLength","scale","upperBorder","Math","ceil","Component","__KONTUR_REACT_UI__","defaultProps","propTypes","Error","trunc"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isBrowser } from '../../lib/client';\n\nimport { incrementZIndex, removeZIndex, upperBorder, LayerComponentName } from './ZIndexStorage';\n\nconst ZIndexContext = React.createContext({ parentLayerZIndex: 0, maxZIndex: Infinity });\n\nZIndexContext.displayName = 'ZIndexContext';\n\nexport interface ZIndexProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Приращение к z-index\n */\n delta: number;\n priority: number | LayerComponentName;\n style: React.CSSProperties;\n createStackingContext?: boolean;\n coverChildren?: boolean;\n applyZIndex?: boolean;\n className?: string;\n wrapperRef?: React.Ref<HTMLDivElement> | undefined | null;\n}\n\n@rootNode\nexport class ZIndex extends React.Component<ZIndexProps> {\n public static __KONTUR_REACT_UI__ = 'ZIndex';\n\n public static defaultProps = {\n delta: 10,\n priority: 0,\n style: {},\n applyZIndex: true,\n coverChildren: false,\n createStackingContext: false,\n };\n\n public static propTypes = {\n delta(props: ZIndexProps) {\n if (props.delta <= 0) {\n return new Error(`[ZIndex]: Prop 'delta' must be greater than 0, received ${props.delta}`);\n }\n if (Math.trunc(props.delta) !== props.delta) {\n return new Error(`[ZIndex]: Prop 'delta' must be integer, received ${props.delta}`);\n }\n },\n };\n\n private zIndex = 0;\n\n private setRootNode!: TSetRootNode;\n\n constructor(props: ZIndexProps) {\n super(props);\n this.zIndex = incrementZIndex(props.priority, props.delta);\n }\n\n public componentWillUnmount() {\n removeZIndex(this.zIndex);\n }\n\n public render() {\n const {\n style,\n children,\n delta,\n priority,\n applyZIndex,\n coverChildren,\n createStackingContext,\n wrapperRef,\n ...props\n } = this.props;\n\n const wrapperStyle: React.CSSProperties = {};\n\n return (\n <ZIndexContext.Consumer>\n {({ parentLayerZIndex, maxZIndex }) => {\n let zIndexContexValue = { parentLayerZIndex, maxZIndex };\n\n if (applyZIndex) {\n const newZIndex = this.calcZIndex(parentLayerZIndex, maxZIndex);\n wrapperStyle.zIndex = newZIndex;\n\n zIndexContexValue = coverChildren\n ? { parentLayerZIndex, maxZIndex: newZIndex }\n : { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };\n\n if (createStackingContext) {\n isBrowser && 'isolation' in document.body.style\n ? (wrapperStyle.isolation = 'isolate')\n : (wrapperStyle.transform = 'rotate(0)');\n }\n }\n\n return (\n <ZIndexContext.Provider value={zIndexContexValue}>\n <div style={{ ...style, ...wrapperStyle }} ref={this.wrapperRef} {...props}>\n {children}\n </div>\n </ZIndexContext.Provider>\n );\n }}\n </ZIndexContext.Consumer>\n );\n }\n\n private wrapperRef = (element: HTMLDivElement | null) => {\n const { wrapperRef } = this.props;\n this.setRootNode(element);\n wrapperRef && callChildRef(wrapperRef, element);\n };\n\n private calcZIndex(parentLayerZIndex: number, maxZIndex: number) {\n let newZIndex = this.zIndex;\n\n if (Number.isFinite(maxZIndex)) {\n const allowedValuesIntervalLength = maxZIndex - parentLayerZIndex;\n const scale = upperBorder / allowedValuesIntervalLength;\n newZIndex = Math.ceil(newZIndex / scale);\n }\n\n newZIndex += parentLayerZIndex;\n\n return newZIndex;\n }\n}\n"]}
1
+ {"version":3,"sources":["ZIndex.tsx"],"names":["ZIndexContext","React","createContext","parentLayerZIndex","maxZIndex","Infinity","displayName","ZIndex","rootNode","props","zIndex","wrapperRef","element","setRootNode","priority","delta","componentDidUpdate","prevProps","newZIndex","forceUpdate","componentWillUnmount","render","style","children","applyZIndex","coverChildren","createStackingContext","contextOnly","wrapperStyle","zIndexContextValue","calcZIndex","Number","isFinite","isBrowser","document","body","isolation","transform","child","allowedValuesIntervalLength","scale","upperBorder","Math","ceil","Component","__KONTUR_REACT_UI__","defaultProps","propTypes","Error","trunc"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isBrowser } from '../../lib/client';\n\nimport { incrementZIndex, removeZIndex, upperBorder, LayerComponentName } from './ZIndexStorage';\n\nconst ZIndexContext = React.createContext({ parentLayerZIndex: 0, maxZIndex: Infinity });\n\nZIndexContext.displayName = 'ZIndexContext';\n\nexport interface ZIndexProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Приращение к z-index\n */\n delta: number;\n priority: number | LayerComponentName;\n style: React.CSSProperties;\n createStackingContext?: boolean;\n coverChildren?: boolean;\n applyZIndex?: boolean;\n className?: string;\n wrapperRef?: React.Ref<HTMLDivElement> | undefined | null;\n\n /**\n * Не оборачивать children в див со стилями.\n *\n * Для случаев когда необходимо принудительно задать контекст индексов для области.\n */\n contextOnly?: boolean;\n}\n\n@rootNode\nexport class ZIndex extends React.Component<ZIndexProps> {\n public static __KONTUR_REACT_UI__ = 'ZIndex';\n\n public static defaultProps = {\n delta: 10,\n priority: 0,\n style: {},\n applyZIndex: true,\n coverChildren: false,\n createStackingContext: false,\n contextOnly: false,\n };\n\n public static propTypes = {\n delta(props: ZIndexProps) {\n if (props.delta <= 0) {\n return new Error(`[ZIndex]: Prop 'delta' must be greater than 0, received ${props.delta}`);\n }\n if (Math.trunc(props.delta) !== props.delta) {\n return new Error(`[ZIndex]: Prop 'delta' must be integer, received ${props.delta}`);\n }\n },\n };\n\n private zIndex = 0;\n\n private setRootNode!: TSetRootNode;\n\n constructor(props: ZIndexProps) {\n super(props);\n this.zIndex = incrementZIndex(props.priority, props.delta);\n }\n\n public componentDidUpdate(prevProps: Readonly<ZIndexProps>) {\n if (prevProps.priority !== this.props.priority || prevProps.delta !== this.props.delta) {\n const newZIndex = incrementZIndex(this.props.priority, this.props.delta);\n if (this.zIndex !== newZIndex) {\n removeZIndex(this.zIndex);\n this.zIndex = newZIndex;\n this.forceUpdate();\n }\n }\n }\n\n public componentWillUnmount() {\n removeZIndex(this.zIndex);\n }\n\n public render() {\n const {\n style,\n children,\n delta,\n priority,\n applyZIndex,\n coverChildren,\n createStackingContext,\n wrapperRef,\n contextOnly,\n ...props\n } = this.props;\n\n const wrapperStyle: React.CSSProperties = {};\n\n return (\n <ZIndexContext.Consumer>\n {({ parentLayerZIndex, maxZIndex }) => {\n let zIndexContextValue = { parentLayerZIndex, maxZIndex };\n\n if (applyZIndex) {\n const newZIndex = this.calcZIndex(parentLayerZIndex, maxZIndex);\n wrapperStyle.zIndex = newZIndex;\n\n zIndexContextValue = coverChildren\n ? { parentLayerZIndex, maxZIndex: newZIndex }\n : { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };\n\n if (createStackingContext) {\n isBrowser && 'isolation' in document.body.style\n ? (wrapperStyle.isolation = 'isolate')\n : (wrapperStyle.transform = 'rotate(0)');\n }\n }\n\n const child = contextOnly ? (\n children\n ) : (\n <div style={{ ...style, ...wrapperStyle }} ref={this.wrapperRef} {...props}>\n {children}\n </div>\n );\n\n return <ZIndexContext.Provider value={zIndexContextValue}>{child}</ZIndexContext.Provider>;\n }}\n </ZIndexContext.Consumer>\n );\n }\n\n private wrapperRef = (element: HTMLDivElement | null) => {\n const { wrapperRef } = this.props;\n this.setRootNode(element);\n wrapperRef && callChildRef(wrapperRef, element);\n };\n\n private calcZIndex(parentLayerZIndex: number, maxZIndex: number) {\n let newZIndex = this.zIndex;\n\n if (Number.isFinite(maxZIndex)) {\n const allowedValuesIntervalLength = maxZIndex - parentLayerZIndex;\n const scale = upperBorder / allowedValuesIntervalLength;\n newZIndex = Math.ceil(newZIndex / scale);\n }\n\n newZIndex += parentLayerZIndex;\n\n return newZIndex;\n }\n}\n"]}
@@ -6,7 +6,7 @@ export declare class InternalDateGetter {
6
6
  static getMaxDaysInMonth(month: number, year?: number): number;
7
7
  static getValueDateComponent(type: InternalDateComponentType | null, components: InternalDateComponentsRaw): InternalDateComponentRaw;
8
8
  static getDefaultMin(type: InternalDateComponentType): number;
9
- static getDefaultMax(type: InternalDateComponentType, components?: InternalDateComponents): number;
9
+ static getDefaultMax(type: InternalDateComponentType | null, components?: InternalDateComponents): number;
10
10
  static getTodayComponents(): {
11
11
  date: number;
12
12
  month: number;
@@ -48,9 +48,12 @@ InternalDateGetter = /*#__PURE__*/function () {function InternalDateGetter() {}I
48
48
  {
49
49
  if (type === _types.InternalDateComponentType.Year) {
50
50
  return components.year;
51
- } else if (type === _types.InternalDateComponentType.Month) {
51
+ }
52
+
53
+ if (type === _types.InternalDateComponentType.Month) {
52
54
  return components.month;
53
55
  }
56
+
54
57
  return components.date;
55
58
  };InternalDateGetter.
56
59
 
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateGetter.ts"],"names":["calculateMonth","month","getIsLeapYear","year","isDividableByFour","isDividableByOneHundred","isDividableByFourHundred","InternalDateGetter","getMaxDaysInMonth","isLeapYear","calculatedMonth","getValueDateComponent","type","components","InternalDateComponentType","Year","Month","date","getDefaultMin","MIN_YEAR","MIN_MONTH","Date","MIN_DATE","getDefaultMax","MAX_YEAR","MAX_MONTH","undefined","MAX_DATE","getTodayComponents","getDate","getMonth","getFullYear","max","datesCustom","sort","a","b","toNumber","min"],"mappings":"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","sourcesContent":["import { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from './constants';\nimport { InternalDate } from './InternalDate';\nimport {\n InternalDateComponentType,\n InternalDateComponentsRaw,\n InternalDateComponentRaw,\n InternalDateComponents,\n} from './types';\n\nconst calculateMonth = (month: number) => {\n if (month <= 7) {\n return month + 1;\n }\n\n return month;\n};\n\nconst getIsLeapYear = (year: number) => {\n // The year is considered leap if it's either dividable by 4, 100 or 400.\n const isDividableByFour = year % 4 === 0;\n const isDividableByOneHundred = year % 100 === 0;\n const isDividableByFourHundred = year % 400 === 0;\n\n return isDividableByFour || isDividableByOneHundred || isDividableByFourHundred;\n};\n\nexport class InternalDateGetter {\n public static max = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => b.toNumber() - a.toNumber())[0];\n\n public static min = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => a.toNumber() - b.toNumber())[0];\n\n public static getMaxDaysInMonth(month: number, year?: number): number {\n if (month === 2) {\n const isLeapYear = year ? getIsLeapYear(year) : false;\n\n return isLeapYear ? 29 : 28;\n }\n\n const calculatedMonth = calculateMonth(month);\n return calculatedMonth % 2 === 0 ? 31 : 30;\n }\n\n public static getValueDateComponent(\n type: InternalDateComponentType | null,\n components: InternalDateComponentsRaw,\n ): InternalDateComponentRaw {\n if (type === InternalDateComponentType.Year) {\n return components.year;\n } else if (type === InternalDateComponentType.Month) {\n return components.month;\n }\n return components.date;\n }\n\n public static getDefaultMin(type: InternalDateComponentType): number {\n if (type === InternalDateComponentType.Year) {\n return MIN_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MIN_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n return MIN_DATE;\n }\n return MIN_DATE;\n }\n\n public static getDefaultMax(type: InternalDateComponentType, components?: InternalDateComponents): number {\n if (type === InternalDateComponentType.Year) {\n return MAX_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MAX_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n if (components === undefined) {\n return MAX_DATE;\n }\n const { year, month } = components;\n return year && month ? InternalDateGetter.getMaxDaysInMonth(month, year) : MAX_DATE;\n }\n return MAX_DATE;\n }\n\n public static getTodayComponents() {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth() + 1,\n year: date.getFullYear(),\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateGetter.ts"],"names":["calculateMonth","month","getIsLeapYear","year","isDividableByFour","isDividableByOneHundred","isDividableByFourHundred","InternalDateGetter","getMaxDaysInMonth","isLeapYear","calculatedMonth","getValueDateComponent","type","components","InternalDateComponentType","Year","Month","date","getDefaultMin","MIN_YEAR","MIN_MONTH","Date","MIN_DATE","getDefaultMax","MAX_YEAR","MAX_MONTH","undefined","MAX_DATE","getTodayComponents","getDate","getMonth","getFullYear","max","datesCustom","sort","a","b","toNumber","min"],"mappings":"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","sourcesContent":["import { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from './constants';\nimport { InternalDate } from './InternalDate';\nimport {\n InternalDateComponentType,\n InternalDateComponentsRaw,\n InternalDateComponentRaw,\n InternalDateComponents,\n} from './types';\n\nconst calculateMonth = (month: number) => {\n if (month <= 7) {\n return month + 1;\n }\n\n return month;\n};\n\nconst getIsLeapYear = (year: number) => {\n // The year is considered leap if it's either dividable by 4, 100 or 400.\n const isDividableByFour = year % 4 === 0;\n const isDividableByOneHundred = year % 100 === 0;\n const isDividableByFourHundred = year % 400 === 0;\n\n return isDividableByFour || isDividableByOneHundred || isDividableByFourHundred;\n};\n\nexport class InternalDateGetter {\n public static max = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => b.toNumber() - a.toNumber())[0];\n\n public static min = (datesCustom: InternalDate[]): InternalDate =>\n datesCustom.sort((a, b) => a.toNumber() - b.toNumber())[0];\n\n public static getMaxDaysInMonth(month: number, year?: number): number {\n if (month === 2) {\n const isLeapYear = year ? getIsLeapYear(year) : false;\n\n return isLeapYear ? 29 : 28;\n }\n\n const calculatedMonth = calculateMonth(month);\n return calculatedMonth % 2 === 0 ? 31 : 30;\n }\n\n public static getValueDateComponent(\n type: InternalDateComponentType | null,\n components: InternalDateComponentsRaw,\n ): InternalDateComponentRaw {\n if (type === InternalDateComponentType.Year) {\n return components.year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return components.month;\n }\n\n return components.date;\n }\n\n public static getDefaultMin(type: InternalDateComponentType): number {\n if (type === InternalDateComponentType.Year) {\n return MIN_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MIN_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n return MIN_DATE;\n }\n return MIN_DATE;\n }\n\n public static getDefaultMax(type: InternalDateComponentType | null, components?: InternalDateComponents): number {\n if (type === InternalDateComponentType.Year) {\n return MAX_YEAR;\n } else if (type === InternalDateComponentType.Month) {\n return MAX_MONTH;\n } else if (type === InternalDateComponentType.Date) {\n if (components === undefined) {\n return MAX_DATE;\n }\n const { year, month } = components;\n return year && month ? InternalDateGetter.getMaxDaysInMonth(month, year) : MAX_DATE;\n }\n return MAX_DATE;\n }\n\n public static getTodayComponents() {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth() + 1,\n year: date.getFullYear(),\n };\n }\n}\n"]}
@@ -21,41 +21,51 @@ var calculateEndDate = function calculateEndDate(endDate) {
21
21
  }
22
22
 
23
23
  return Infinity;
24
+ };
25
+
26
+ var getValue = function getValue(type, _ref) {var year = _ref.year,month = _ref.month,date = _ref.date;
27
+ if (type === _types.InternalDateComponentType.Year) {
28
+ return year;
29
+ }
30
+
31
+ if (type === _types.InternalDateComponentType.Month) {
32
+ return month;
33
+ }
34
+
35
+ return date;
24
36
  };var
37
+
25
38
  InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator() {}InternalDateValidator.
26
- checkForNull = function checkForNull(_ref, type) {var year = _ref.year,month = _ref.month,date = _ref.date;
39
+ checkForNull = function checkForNull(_ref2, type) {var year = _ref2.year,month = _ref2.month,date = _ref2.date;
27
40
  if (type !== undefined) {
28
41
  if (type === _types.InternalDateComponentType.Year) {
29
42
  return year !== null;
30
- } else if (type === _types.InternalDateComponentType.Month) {
43
+ }
44
+
45
+ if (type === _types.InternalDateComponentType.Month) {
31
46
  return month !== null;
32
- } else if (type === _types.InternalDateComponentType.All) {
47
+ }
48
+
49
+ if (type === _types.InternalDateComponentType.All) {
33
50
  return year !== null && month !== null && date !== null;
34
51
  }
52
+
35
53
  return date !== null;
36
54
  }
55
+
37
56
  return !(year === null || month === null || date === null);
38
57
  };InternalDateValidator.
39
58
 
40
- checkLimits = function checkLimits(_ref2,
59
+ checkLimits = function checkLimits(_ref3,
41
60
 
42
61
  type)
43
- {var year = _ref2.year,month = _ref2.month,date = _ref2.date;
62
+ {var year = _ref3.year,month = _ref3.month,date = _ref3.date;
44
63
  if (type !== undefined) {
45
- var getValue = function getValue() {
46
- if (type === _types.InternalDateComponentType.Year) {
47
- return year;
48
- } else if (type === _types.InternalDateComponentType.Month) {
49
- return month;
50
- }
51
-
52
- return date;
53
- };
54
-
55
- var value = getValue();
64
+ var value = getValue(type, { date: date, month: month, year: year });
56
65
 
57
66
  return value >= _InternalDateGetter.InternalDateGetter.getDefaultMin(type) && value <= _InternalDateGetter.InternalDateGetter.getDefaultMax(type);
58
67
  }
68
+
59
69
  return (
60
70
  year >= _InternalDateGetter.InternalDateGetter.getDefaultMin(_types.InternalDateComponentType.Year) &&
61
71
  year <= _InternalDateGetter.InternalDateGetter.getDefaultMax(_types.InternalDateComponentType.Year) &&
@@ -66,7 +76,7 @@ InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator
66
76
 
67
77
  };InternalDateValidator.
68
78
 
69
- compareWithNativeDate = function compareWithNativeDate(_ref3) {var year = _ref3.year,month = _ref3.month,date = _ref3.date;
79
+ compareWithNativeDate = function compareWithNativeDate(_ref4) {var year = _ref4.year,month = _ref4.month,date = _ref4.date;
70
80
  var nativeDate = new Date(Date.UTC(year, month - 1, date));
71
81
  return (
72
82
  nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date);
@@ -84,20 +94,20 @@ InternalDateValidator = /*#__PURE__*/function () {function InternalDateValidator
84
94
  };InternalDateValidator.
85
95
 
86
96
  checkRangePiecemeal = function checkRangePiecemeal(
87
- type, _ref4,
97
+ type, _ref5,
88
98
 
89
99
  startComponents,
90
100
  endComponents)
91
- {var year = _ref4.year,month = _ref4.month,date = _ref4.date;
101
+ {var year = _ref5.year,month = _ref5.month,date = _ref5.date;
92
102
  if (startComponents === null && endComponents === null) {
93
103
  return true;
94
104
  }
95
- var _ref5 =
105
+ var _ref6 =
96
106
 
97
107
 
98
108
 
99
- startComponents || {},_ref5$year = _ref5.year,startYear = _ref5$year === void 0 ? -Infinity : _ref5$year,_ref5$month = _ref5.month,startMonth = _ref5$month === void 0 ? -Infinity : _ref5$month,_ref5$date = _ref5.date,startDate = _ref5$date === void 0 ? -Infinity : _ref5$date;
100
- var _ref6 = endComponents || {},_ref6$year = _ref6.year,endYear = _ref6$year === void 0 ? Infinity : _ref6$year,_ref6$month = _ref6.month,endMonth = _ref6$month === void 0 ? Infinity : _ref6$month,_ref6$date = _ref6.date,endDate = _ref6$date === void 0 ? Infinity : _ref6$date;
109
+ startComponents || {},_ref6$year = _ref6.year,startYear = _ref6$year === void 0 ? -Infinity : _ref6$year,_ref6$month = _ref6.month,startMonth = _ref6$month === void 0 ? -Infinity : _ref6$month,_ref6$date = _ref6.date,startDate = _ref6$date === void 0 ? -Infinity : _ref6$date;
110
+ var _ref7 = endComponents || {},_ref7$year = _ref7.year,endYear = _ref7$year === void 0 ? Infinity : _ref7$year,_ref7$month = _ref7.month,endMonth = _ref7$month === void 0 ? Infinity : _ref7$month,_ref7$date = _ref7.date,endDate = _ref7$date === void 0 ? Infinity : _ref7$date;
101
111
 
102
112
  if (type === _types.InternalDateComponentType.Year) {
103
113
  return !(year < startYear || year > endYear);
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateValidator.ts"],"names":["calculateStartDate","startDate","Infinity","calculateEndDate","endDate","InternalDateValidator","checkForNull","type","year","month","date","undefined","InternalDateComponentType","Year","Month","All","checkLimits","getValue","value","InternalDateGetter","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","getOrder","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n } else if (type === InternalDateComponentType.Month) {\n return month !== null;\n } else if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n return date !== null;\n }\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const getValue = () => {\n if (type === InternalDateComponentType.Year) {\n return year;\n } else if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n };\n\n const value = getValue();\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): boolean {\n return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateValidator.ts"],"names":["calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","InternalDateComponentType","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","InternalDateGetter","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","getOrder","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): boolean {\n return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();\n }\n}\n"]}
@@ -88,3 +88,7 @@ export interface InternalDateLocaleSet {
88
88
  firstDayWeek: InternalDateFirstDayWeek;
89
89
  notWorkingDays: InternalDateDayWeek[];
90
90
  }
91
+ export interface InputKeyResult {
92
+ inputMode: boolean;
93
+ changed: boolean;
94
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["types.ts"],"names":["InternalDateOrder","InternalDateSeparator","InternalDateComponentType","InternalDateValidateCheck","isInternalDateValidateCheck","value","Object","values","includes","InternalDateFirstDayWeek","InternalDateDayWeek"],"mappings":";;AAEYA,iB,0DAAAA,iB,GAAAA,iB,gBAAAA,iB,gBAAAA,iB,mBAAAA,iB,iCAAAA,iB;;;;;;AAMAC,qB,kEAAAA,qB,GAAAA,qB,gBAAAA,qB,cAAAA,qB,eAAAA,qB,mBAAAA,qB,qCAAAA,qB;;;;;;;AAOAC,yB,0EAAAA,yB,GAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,yBAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,qBAAAA,yB,CAAAA,yB,oCAAAA,yB,yCAAAA,yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DAC,yB,0EAAAA,yB,GAAAA,yB,CAAAA,yB,6BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,4BAAAA,yB,yCAAAA,yB;;;;;;;;AAQL,SAASC,2BAAT,CAAqCC,KAArC,EAAyF;AAC9F,SAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6BC,MAAM,CAACC,MAAP,CAAcJ,yBAAd,EAAyCK,QAAzC,CAAkDH,KAAlD,CAApC;AACD,C;;AAEWI,wB,wEAAAA,wB,GAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,kCAAAA,wB,wCAAAA,wB;;;;;;AAMAC,mB,8DAAAA,mB,GAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,6BAAAA,mB,CAAAA,mB,iCAAAA,mB,CAAAA,mB,+BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,kCAAAA,mB,mCAAAA,mB","sourcesContent":["import { LangCodes } from '../locale';\n\nexport enum InternalDateOrder {\n DMY = 'DMY',\n YMD = 'YMD',\n MDY = 'MDY',\n}\n\nexport enum InternalDateSeparator {\n Slash = '/',\n Dot = '.',\n Dash = '-',\n Space = ' ',\n}\n\nexport enum InternalDateComponentType {\n Date = 0,\n Month = 1,\n Year = 2,\n All = 3,\n Separator = 4,\n}\n\nexport type InternalDateTypesOrder = [InternalDateComponentType, InternalDateComponentType, InternalDateComponentType];\nexport type InternalDateComponent = number | null;\nexport type InternalDateComponentRaw = number | string | null;\n\nexport interface InternalDateFragment {\n type: InternalDateComponentType;\n value: InternalDateComponentRaw | InternalDateSeparator;\n length: number;\n valueWithPad?: string;\n isValid?: boolean;\n}\n\nexport interface InternalDateComponents {\n year: InternalDateComponent;\n month: InternalDateComponent;\n date: InternalDateComponent;\n}\n\nexport interface InternalDateComponentsRaw {\n year: InternalDateComponentRaw;\n month: InternalDateComponentRaw;\n date: InternalDateComponentRaw;\n}\n\nexport interface InternalDateComponentsNumber {\n year: number;\n month: number;\n date: number;\n}\n\nexport interface InternalDateToFragmentsSettings {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n withSeparator?: boolean;\n withPad?: boolean;\n pad?: string;\n}\n\nexport interface InternalDateChangeSettings {\n isLoop?: boolean;\n isRange?: boolean;\n isCutFeb?: boolean;\n}\n\nexport interface InternalDateConstructorProps {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n langCode?: LangCodes;\n value?: string;\n}\n\nexport enum InternalDateValidateCheck {\n NotNull,\n Number,\n Limits,\n Native,\n Range,\n}\n\nexport function isInternalDateValidateCheck(value: unknown): value is InternalDateValidateCheck {\n return typeof value === 'number' && Object.values(InternalDateValidateCheck).includes(value);\n}\n\nexport enum InternalDateFirstDayWeek {\n Monday = 0,\n Sunday = 1,\n Saturday = 2,\n}\n\nexport enum InternalDateDayWeek {\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Sunday = 6,\n Saturday = 7,\n}\n\nexport interface InternalDateLocaleSet {\n order: InternalDateOrder;\n separator: InternalDateSeparator;\n firstDayWeek: InternalDateFirstDayWeek;\n notWorkingDays: InternalDateDayWeek[];\n}\n"]}
1
+ {"version":3,"sources":["types.ts"],"names":["InternalDateOrder","InternalDateSeparator","InternalDateComponentType","InternalDateValidateCheck","isInternalDateValidateCheck","value","Object","values","includes","InternalDateFirstDayWeek","InternalDateDayWeek"],"mappings":";;AAEYA,iB,0DAAAA,iB,GAAAA,iB,gBAAAA,iB,gBAAAA,iB,mBAAAA,iB,iCAAAA,iB;;;;;;AAMAC,qB,kEAAAA,qB,GAAAA,qB,gBAAAA,qB,cAAAA,qB,eAAAA,qB,mBAAAA,qB,qCAAAA,qB;;;;;;;AAOAC,yB,0EAAAA,yB,GAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,yBAAAA,yB,CAAAA,yB,uBAAAA,yB,CAAAA,yB,qBAAAA,yB,CAAAA,yB,oCAAAA,yB,yCAAAA,yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DAC,yB,0EAAAA,yB,GAAAA,yB,CAAAA,yB,6BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,2BAAAA,yB,CAAAA,yB,4BAAAA,yB,yCAAAA,yB;;;;;;;;AAQL,SAASC,2BAAT,CAAqCC,KAArC,EAAyF;AAC9F,SAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6BC,MAAM,CAACC,MAAP,CAAcJ,yBAAd,EAAyCK,QAAzC,CAAkDH,KAAlD,CAApC;AACD,C;;AAEWI,wB,wEAAAA,wB,GAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,2BAAAA,wB,CAAAA,wB,kCAAAA,wB,wCAAAA,wB;;;;;;AAMAC,mB,8DAAAA,mB,GAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,6BAAAA,mB,CAAAA,mB,iCAAAA,mB,CAAAA,mB,+BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,2BAAAA,mB,CAAAA,mB,kCAAAA,mB,mCAAAA,mB","sourcesContent":["import { LangCodes } from '../locale';\n\nexport enum InternalDateOrder {\n DMY = 'DMY',\n YMD = 'YMD',\n MDY = 'MDY',\n}\n\nexport enum InternalDateSeparator {\n Slash = '/',\n Dot = '.',\n Dash = '-',\n Space = ' ',\n}\n\nexport enum InternalDateComponentType {\n Date = 0,\n Month = 1,\n Year = 2,\n All = 3,\n Separator = 4,\n}\n\nexport type InternalDateTypesOrder = [InternalDateComponentType, InternalDateComponentType, InternalDateComponentType];\nexport type InternalDateComponent = number | null;\nexport type InternalDateComponentRaw = number | string | null;\n\nexport interface InternalDateFragment {\n type: InternalDateComponentType;\n value: InternalDateComponentRaw | InternalDateSeparator;\n length: number;\n valueWithPad?: string;\n isValid?: boolean;\n}\n\nexport interface InternalDateComponents {\n year: InternalDateComponent;\n month: InternalDateComponent;\n date: InternalDateComponent;\n}\n\nexport interface InternalDateComponentsRaw {\n year: InternalDateComponentRaw;\n month: InternalDateComponentRaw;\n date: InternalDateComponentRaw;\n}\n\nexport interface InternalDateComponentsNumber {\n year: number;\n month: number;\n date: number;\n}\n\nexport interface InternalDateToFragmentsSettings {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n withSeparator?: boolean;\n withPad?: boolean;\n pad?: string;\n}\n\nexport interface InternalDateChangeSettings {\n isLoop?: boolean;\n isRange?: boolean;\n isCutFeb?: boolean;\n}\n\nexport interface InternalDateConstructorProps {\n order?: InternalDateOrder;\n separator?: InternalDateSeparator;\n langCode?: LangCodes;\n value?: string;\n}\n\nexport enum InternalDateValidateCheck {\n NotNull,\n Number,\n Limits,\n Native,\n Range,\n}\n\nexport function isInternalDateValidateCheck(value: unknown): value is InternalDateValidateCheck {\n return typeof value === 'number' && Object.values(InternalDateValidateCheck).includes(value);\n}\n\nexport enum InternalDateFirstDayWeek {\n Monday = 0,\n Sunday = 1,\n Saturday = 2,\n}\n\nexport enum InternalDateDayWeek {\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Sunday = 6,\n Saturday = 7,\n}\n\nexport interface InternalDateLocaleSet {\n order: InternalDateOrder;\n separator: InternalDateSeparator;\n firstDayWeek: InternalDateFirstDayWeek;\n notWorkingDays: InternalDateDayWeek[];\n}\n\nexport interface InputKeyResult {\n inputMode: boolean;\n changed: boolean;\n}\n"]}
@@ -149,7 +149,11 @@ function MouseDrag(elem) {var _this = this;this.clicked = false;this.dragging =
149
149
  };this.
150
150
 
151
151
  getLength = function (x2, y2) {
152
- return _this.x1 !== undefined && _this.y1 !== undefined ? Math.sqrt(Math.pow(x2 - _this.x1, 2) + Math.pow(y2 - _this.y1, 2)) : 0;
152
+ if (_this.x1 !== undefined && _this.y1 !== undefined) {
153
+ return Math.sqrt(Math.pow(x2 - _this.x1, 2) + Math.pow(y2 - _this.y1, 2));
154
+ }
155
+
156
+ return 0;
153
157
  };this.
154
158
 
155
159
  createEvent = function (type, e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["MouseDrag.ts"],"names":["MouseDragEventType","items","Map","documentHandleMouseUp","e","forEach","mouseDrag","handleMouseUp","canUseDOM","document","documentElement","addEventListener","MouseDrag","elem","clicked","dragging","stop","removeEventListener","handleMouseDown","handleMouseMove","handleMouseLeave","delete","onMouseDragStart","handler","on","Start","onMouseDragMove","Move","onMouseDragLeave","Leave","onMouseDragEnd","End","dispatchEvent","createEvent","type","x1","pageX","y1","pageY","mouseDragStartEvent","getLength","RADIUS","x2","y2","undefined","Math","sqrt","MouseEvent","eIE11","initEvent","mouseDragEvent","set","listen","has","get"],"mappings":"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","sourcesContent":["import { canUseDOM } from '../client';\n\nenum MouseDragEventType {\n Start = 'mousedragstart',\n Move = 'mousedragmove',\n End = 'mousedragend',\n Leave = 'mousedragleave',\n}\n\ntype MouseDragEvent = MouseEvent;\n\ntype HandlerNative<E = MouseEvent> = (e: E) => void;\ntype Handler = (e: MouseDragEvent) => void;\ntype On = (handler: Handler) => MouseDrag;\nexport type MouseDragEventHandler = (e: MouseDragEvent) => void;\n\nconst items: Map<HTMLElement, MouseDrag> = new Map();\n\nconst documentHandleMouseUp: HandlerNative = (e) => items.forEach((mouseDrag) => mouseDrag.handleMouseUp(e));\n\nif (canUseDOM) {\n document.documentElement.addEventListener('mouseup', documentHandleMouseUp);\n}\n\n/**\n * ## Класс для отслеживания эффекта перетаскивания мышкой\n *\n * _Публичный метод `handleMouseUp` нельзя использовать!_\n *\n * ### Начало прослушивания и добавление обработчиков:\n * ```\n * MouseDrag.listen(HTMLElement_1)\n * .onMouseDragStart(start)\n * .onMouseDragMove(move)\n * .onMouseDragLeave(leave)\n * .onMouseDragEnd(end);\n *\n * - - ИЛИ - -\n *\n * const mouseDrag_1 = MouseDrag.listen(HTMLElement)...\n * ```\n *\n * ### Остановка прослушивания:\n * ```\n * MouseDrag.stop(HTMLElement_1)\n *\n * - - ИЛИ - -\n *\n * mouseDrag_1.stop();\n * ```\n */\nexport class MouseDrag {\n // Радиус окружности, который необходимо преодолеть мышью, чтобы вызвалось событие `MouseDragStart`\n public static readonly RADIUS: number = 5; // px\n\n public static listen = (elem: HTMLElement): MouseDrag => {\n if (items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n return mouseDrag;\n }\n }\n return new MouseDrag(elem);\n };\n\n public static stop = (elem: HTMLElement | null): void => {\n if (elem && items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n mouseDrag.stop();\n }\n }\n };\n\n private mouseDragStartEvent?: MouseDragEvent;\n private clicked = false;\n private dragging = false;\n\n private x1?: number;\n private y1?: number;\n\n private elem: HTMLElement | null;\n\n public constructor(elem: HTMLElement) {\n this.elem = elem;\n this.elem.addEventListener('mousedown', this.handleMouseDown);\n this.elem.addEventListener('mousemove', this.handleMouseMove);\n this.elem.addEventListener('mouseleave', this.handleMouseLeave);\n items.set(this.elem, this);\n }\n\n public stop = (): void => {\n if (this.elem !== null) {\n this.elem.removeEventListener('mousedown', this.handleMouseDown);\n this.elem.removeEventListener('mousemove', this.handleMouseMove);\n this.elem.removeEventListener('mouseleave', this.handleMouseLeave);\n items.delete(this.elem);\n }\n this.elem = null;\n };\n\n public onMouseDragStart: On = (handler) => this.on(MouseDragEventType.Start, handler);\n public onMouseDragMove: On = (handler) => this.on(MouseDragEventType.Move, handler);\n public onMouseDragLeave: On = (handler) => this.on(MouseDragEventType.Leave, handler);\n public onMouseDragEnd: On = (handler) => this.on(MouseDragEventType.End, handler);\n\n public handleMouseUp: HandlerNative = (e) => {\n this.clicked = false;\n if (this.dragging) {\n this.dragging = false;\n this.dispatchEvent(this.createEvent(MouseDragEventType.End, e));\n }\n };\n\n private on = (type: MouseDragEventType, handler: Handler): MouseDrag => {\n if (this.elem !== null) {\n this.elem.removeEventListener(type, handler as HandlerNative<Event>);\n this.elem.addEventListener(type, handler as HandlerNative<Event>);\n }\n return this;\n };\n\n private handleMouseDown: HandlerNative = (e) => {\n if (!this.clicked) {\n this.clicked = true;\n this.x1 = e.pageX;\n this.y1 = e.pageY;\n this.mouseDragStartEvent = this.createEvent(MouseDragEventType.Start, e);\n }\n };\n\n private handleMouseMove: HandlerNative = (e) => {\n if (this.dragging) {\n return this.dispatchEvent(this.createEvent(MouseDragEventType.Move, e));\n }\n if (this.clicked && this.getLength(e.pageX, e.pageY) > MouseDrag.RADIUS) {\n this.dragging = true;\n this.clicked = false;\n if (this.mouseDragStartEvent) {\n this.dispatchEvent(this.mouseDragStartEvent);\n }\n }\n };\n\n private handleMouseLeave: HandlerNative = (e) => {\n if (this.dragging) {\n this.dispatchEvent(this.createEvent(MouseDragEventType.Leave, e));\n }\n };\n\n private getLength = (x2: number, y2: number): number => {\n return this.x1 !== undefined && this.y1 !== undefined ? Math.sqrt((x2 - this.x1) ** 2 + (y2 - this.y1) ** 2) : 0;\n };\n\n private createEvent = (type: MouseDragEventType, e: MouseEvent): MouseDragEvent => {\n if (typeof MouseEvent === 'function') {\n return new MouseEvent(type, e);\n }\n // <=IE11\n const eIE11 = document.createEvent('MouseEvent');\n eIE11.initEvent(type, true, true);\n return eIE11;\n };\n\n private dispatchEvent = (mouseDragEvent: MouseDragEvent): void => {\n if (this.elem !== null) {\n this.elem.dispatchEvent(mouseDragEvent);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["MouseDrag.ts"],"names":["MouseDragEventType","items","Map","documentHandleMouseUp","e","forEach","mouseDrag","handleMouseUp","canUseDOM","document","documentElement","addEventListener","MouseDrag","elem","clicked","dragging","stop","removeEventListener","handleMouseDown","handleMouseMove","handleMouseLeave","delete","onMouseDragStart","handler","on","Start","onMouseDragMove","Move","onMouseDragLeave","Leave","onMouseDragEnd","End","dispatchEvent","createEvent","type","x1","pageX","y1","pageY","mouseDragStartEvent","getLength","RADIUS","x2","y2","undefined","Math","sqrt","MouseEvent","eIE11","initEvent","mouseDragEvent","set","listen","has","get"],"mappings":"kEAAA,mC;;AAEKA,kB,YAAAA,kB,GAAAA,kB,6BAAAA,kB,2BAAAA,kB,yBAAAA,kB,gCAAAA,kB,KAAAA,kB;;;;;;;;;;;;;;AAcL,IAAMC,KAAkC,GAAG,IAAIC,GAAJ,EAA3C;;AAEA,IAAMC,qBAAoC,GAAG,SAAvCA,qBAAuC,CAACC,CAAD,UAAOH,KAAK,CAACI,OAAN,CAAc,UAACC,SAAD,UAAeA,SAAS,CAACC,aAAV,CAAwBH,CAAxB,CAAf,EAAd,CAAP,EAA7C;;AAEA,IAAII,iBAAJ,EAAe;AACbC,EAAAA,QAAQ,CAACC,eAAT,CAAyBC,gBAAzB,CAA0C,SAA1C,EAAqDR,qBAArD;AACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;AACaS,S;AACX;AAC2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8B3C,mBAAmBC,IAAnB,EAAsC,uBAR9BC,OAQ8B,GARpB,KAQoB,MAP9BC,QAO8B,GAPnB,KAOmB;;;;;;;;AAQ/BC,EAAAA,IAR+B,GAQxB,YAAY;AACxB,QAAI,KAAI,CAACH,IAAL,KAAc,IAAlB,EAAwB;AACtB,MAAA,KAAI,CAACA,IAAL,CAAUI,mBAAV,CAA8B,WAA9B,EAA2C,KAAI,CAACC,eAAhD;AACA,MAAA,KAAI,CAACL,IAAL,CAAUI,mBAAV,CAA8B,WAA9B,EAA2C,KAAI,CAACE,eAAhD;AACA,MAAA,KAAI,CAACN,IAAL,CAAUI,mBAAV,CAA8B,YAA9B,EAA4C,KAAI,CAACG,gBAAjD;AACAnB,MAAAA,KAAK,CAACoB,MAAN,CAAa,KAAI,CAACR,IAAlB;AACD;AACD,IAAA,KAAI,CAACA,IAAL,GAAY,IAAZ;AACD,GAhBqC;;AAkB/BS,EAAAA,gBAlB+B,GAkBR,UAACC,OAAD,UAAa,KAAI,CAACC,EAAL,CAAQxB,kBAAkB,CAACyB,KAA3B,EAAkCF,OAAlC,CAAb,EAlBQ;AAmB/BG,EAAAA,eAnB+B,GAmBT,UAACH,OAAD,UAAa,KAAI,CAACC,EAAL,CAAQxB,kBAAkB,CAAC2B,IAA3B,EAAiCJ,OAAjC,CAAb,EAnBS;AAoB/BK,EAAAA,gBApB+B,GAoBR,UAACL,OAAD,UAAa,KAAI,CAACC,EAAL,CAAQxB,kBAAkB,CAAC6B,KAA3B,EAAkCN,OAAlC,CAAb,EApBQ;AAqB/BO,EAAAA,cArB+B,GAqBV,UAACP,OAAD,UAAa,KAAI,CAACC,EAAL,CAAQxB,kBAAkB,CAAC+B,GAA3B,EAAgCR,OAAhC,CAAb,EArBU;;AAuB/BhB,EAAAA,aAvB+B,GAuBA,UAACH,CAAD,EAAO;AAC3C,IAAA,KAAI,CAACU,OAAL,GAAe,KAAf;AACA,QAAI,KAAI,CAACC,QAAT,EAAmB;AACjB,MAAA,KAAI,CAACA,QAAL,GAAgB,KAAhB;AACA,MAAA,KAAI,CAACiB,aAAL,CAAmB,KAAI,CAACC,WAAL,CAAiBjC,kBAAkB,CAAC+B,GAApC,EAAyC3B,CAAzC,CAAnB;AACD;AACF,GA7BqC;;AA+B9BoB,EAAAA,EA/B8B,GA+BzB,UAACU,IAAD,EAA2BX,OAA3B,EAA2D;AACtE,QAAI,KAAI,CAACV,IAAL,KAAc,IAAlB,EAAwB;AACtB,MAAA,KAAI,CAACA,IAAL,CAAUI,mBAAV,CAA8BiB,IAA9B,EAAoCX,OAApC;AACA,MAAA,KAAI,CAACV,IAAL,CAAUF,gBAAV,CAA2BuB,IAA3B,EAAiCX,OAAjC;AACD;AACD,WAAO,KAAP;AACD,GArCqC;;AAuC9BL,EAAAA,eAvC8B,GAuCG,UAACd,CAAD,EAAO;AAC9C,QAAI,CAAC,KAAI,CAACU,OAAV,EAAmB;AACjB,MAAA,KAAI,CAACA,OAAL,GAAe,IAAf;AACA,MAAA,KAAI,CAACqB,EAAL,GAAU/B,CAAC,CAACgC,KAAZ;AACA,MAAA,KAAI,CAACC,EAAL,GAAUjC,CAAC,CAACkC,KAAZ;AACA,MAAA,KAAI,CAACC,mBAAL,GAA2B,KAAI,CAACN,WAAL,CAAiBjC,kBAAkB,CAACyB,KAApC,EAA2CrB,CAA3C,CAA3B;AACD;AACF,GA9CqC;;AAgD9Be,EAAAA,eAhD8B,GAgDG,UAACf,CAAD,EAAO;AAC9C,QAAI,KAAI,CAACW,QAAT,EAAmB;AACjB,aAAO,KAAI,CAACiB,aAAL,CAAmB,KAAI,CAACC,WAAL,CAAiBjC,kBAAkB,CAAC2B,IAApC,EAA0CvB,CAA1C,CAAnB,CAAP;AACD;AACD,QAAI,KAAI,CAACU,OAAL,IAAgB,KAAI,CAAC0B,SAAL,CAAepC,CAAC,CAACgC,KAAjB,EAAwBhC,CAAC,CAACkC,KAA1B,IAAmC1B,SAAS,CAAC6B,MAAjE,EAAyE;AACvE,MAAA,KAAI,CAAC1B,QAAL,GAAgB,IAAhB;AACA,MAAA,KAAI,CAACD,OAAL,GAAe,KAAf;AACA,UAAI,KAAI,CAACyB,mBAAT,EAA8B;AAC5B,QAAA,KAAI,CAACP,aAAL,CAAmB,KAAI,CAACO,mBAAxB;AACD;AACF;AACF,GA3DqC;;AA6D9BnB,EAAAA,gBA7D8B,GA6DI,UAAChB,CAAD,EAAO;AAC/C,QAAI,KAAI,CAACW,QAAT,EAAmB;AACjB,MAAA,KAAI,CAACiB,aAAL,CAAmB,KAAI,CAACC,WAAL,CAAiBjC,kBAAkB,CAAC6B,KAApC,EAA2CzB,CAA3C,CAAnB;AACD;AACF,GAjEqC;;AAmE9BoC,EAAAA,SAnE8B,GAmElB,UAACE,EAAD,EAAaC,EAAb,EAAoC;AACtD,QAAI,KAAI,CAACR,EAAL,KAAYS,SAAZ,IAAyB,KAAI,CAACP,EAAL,KAAYO,SAAzC,EAAoD;AAClD,aAAOC,IAAI,CAACC,IAAL,CAAU,SAACJ,EAAE,GAAG,KAAI,CAACP,EAAX,EAAkB,CAAlB,aAAuBQ,EAAE,GAAG,KAAI,CAACN,EAAjC,EAAwC,CAAxC,CAAV,CAAP;AACD;;AAED,WAAO,CAAP;AACD,GAzEqC;;AA2E9BJ,EAAAA,WA3E8B,GA2EhB,UAACC,IAAD,EAA2B9B,CAA3B,EAA6D;AACjF,QAAI,OAAO2C,UAAP,KAAsB,UAA1B,EAAsC;AACpC,aAAO,IAAIA,UAAJ,CAAeb,IAAf,EAAqB9B,CAArB,CAAP;AACD;AACD;AACA,QAAM4C,KAAK,GAAGvC,QAAQ,CAACwB,WAAT,CAAqB,YAArB,CAAd;AACAe,IAAAA,KAAK,CAACC,SAAN,CAAgBf,IAAhB,EAAsB,IAAtB,EAA4B,IAA5B;AACA,WAAOc,KAAP;AACD,GAnFqC;;AAqF9BhB,EAAAA,aArF8B,GAqFd,UAACkB,cAAD,EAA0C;AAChE,QAAI,KAAI,CAACrC,IAAL,KAAc,IAAlB,EAAwB;AACtB,MAAA,KAAI,CAACA,IAAL,CAAUmB,aAAV,CAAwBkB,cAAxB;AACD;AACF,GAzFqC,CACpC,KAAKrC,IAAL,GAAYA,IAAZ,CACA,KAAKA,IAAL,CAAUF,gBAAV,CAA2B,WAA3B,EAAwC,KAAKO,eAA7C,EACA,KAAKL,IAAL,CAAUF,gBAAV,CAA2B,WAA3B,EAAwC,KAAKQ,eAA7C,EACA,KAAKN,IAAL,CAAUF,gBAAV,CAA2B,YAA3B,EAAyC,KAAKS,gBAA9C,EACAnB,KAAK,CAACkD,GAAN,CAAU,KAAKtC,IAAf,EAAqB,IAArB,EACD,C,+BAtCUD,S,CAEY6B,M,GAAiB,C,CAF7B7B,S,CAIGwC,M,GAAS,UAACvC,IAAD,EAAkC,CACvD,IAAIZ,KAAK,CAACoD,GAAN,CAAUxC,IAAV,CAAJ,EAAqB,CACnB,IAAMP,SAAS,GAAGL,KAAK,CAACqD,GAAN,CAAUzC,IAAV,CAAlB,CACA,IAAIP,SAAJ,EAAe,CACb,OAAOA,SAAP,CACD,CACF,CACD,OAAO,IAAIM,SAAJ,CAAcC,IAAd,CAAP,CACD,C,CAZUD,S,CAcGI,I,GAAO,UAACH,IAAD,EAAoC,CACvD,IAAIA,IAAI,IAAIZ,KAAK,CAACoD,GAAN,CAAUxC,IAAV,CAAZ,EAA6B,CAC3B,IAAMP,SAAS,GAAGL,KAAK,CAACqD,GAAN,CAAUzC,IAAV,CAAlB,CACA,IAAIP,SAAJ,EAAe,CACbA,SAAS,CAACU,IAAV,GACD,CACF,CACF,C","sourcesContent":["import { canUseDOM } from '../client';\n\nenum MouseDragEventType {\n Start = 'mousedragstart',\n Move = 'mousedragmove',\n End = 'mousedragend',\n Leave = 'mousedragleave',\n}\n\ntype MouseDragEvent = MouseEvent;\n\ntype HandlerNative<E = MouseEvent> = (e: E) => void;\ntype Handler = (e: MouseDragEvent) => void;\ntype On = (handler: Handler) => MouseDrag;\nexport type MouseDragEventHandler = (e: MouseDragEvent) => void;\n\nconst items: Map<HTMLElement, MouseDrag> = new Map();\n\nconst documentHandleMouseUp: HandlerNative = (e) => items.forEach((mouseDrag) => mouseDrag.handleMouseUp(e));\n\nif (canUseDOM) {\n document.documentElement.addEventListener('mouseup', documentHandleMouseUp);\n}\n\n/**\n * ## Класс для отслеживания эффекта перетаскивания мышкой\n *\n * _Публичный метод `handleMouseUp` нельзя использовать!_\n *\n * ### Начало прослушивания и добавление обработчиков:\n * ```\n * MouseDrag.listen(HTMLElement_1)\n * .onMouseDragStart(start)\n * .onMouseDragMove(move)\n * .onMouseDragLeave(leave)\n * .onMouseDragEnd(end);\n *\n * - - ИЛИ - -\n *\n * const mouseDrag_1 = MouseDrag.listen(HTMLElement)...\n * ```\n *\n * ### Остановка прослушивания:\n * ```\n * MouseDrag.stop(HTMLElement_1)\n *\n * - - ИЛИ - -\n *\n * mouseDrag_1.stop();\n * ```\n */\nexport class MouseDrag {\n // Радиус окружности, который необходимо преодолеть мышью, чтобы вызвалось событие `MouseDragStart`\n public static readonly RADIUS: number = 5; // px\n\n public static listen = (elem: HTMLElement): MouseDrag => {\n if (items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n return mouseDrag;\n }\n }\n return new MouseDrag(elem);\n };\n\n public static stop = (elem: HTMLElement | null): void => {\n if (elem && items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n mouseDrag.stop();\n }\n }\n };\n\n private mouseDragStartEvent?: MouseDragEvent;\n private clicked = false;\n private dragging = false;\n\n private x1?: number;\n private y1?: number;\n\n private elem: HTMLElement | null;\n\n public constructor(elem: HTMLElement) {\n this.elem = elem;\n this.elem.addEventListener('mousedown', this.handleMouseDown);\n this.elem.addEventListener('mousemove', this.handleMouseMove);\n this.elem.addEventListener('mouseleave', this.handleMouseLeave);\n items.set(this.elem, this);\n }\n\n public stop = (): void => {\n if (this.elem !== null) {\n this.elem.removeEventListener('mousedown', this.handleMouseDown);\n this.elem.removeEventListener('mousemove', this.handleMouseMove);\n this.elem.removeEventListener('mouseleave', this.handleMouseLeave);\n items.delete(this.elem);\n }\n this.elem = null;\n };\n\n public onMouseDragStart: On = (handler) => this.on(MouseDragEventType.Start, handler);\n public onMouseDragMove: On = (handler) => this.on(MouseDragEventType.Move, handler);\n public onMouseDragLeave: On = (handler) => this.on(MouseDragEventType.Leave, handler);\n public onMouseDragEnd: On = (handler) => this.on(MouseDragEventType.End, handler);\n\n public handleMouseUp: HandlerNative = (e) => {\n this.clicked = false;\n if (this.dragging) {\n this.dragging = false;\n this.dispatchEvent(this.createEvent(MouseDragEventType.End, e));\n }\n };\n\n private on = (type: MouseDragEventType, handler: Handler): MouseDrag => {\n if (this.elem !== null) {\n this.elem.removeEventListener(type, handler as HandlerNative<Event>);\n this.elem.addEventListener(type, handler as HandlerNative<Event>);\n }\n return this;\n };\n\n private handleMouseDown: HandlerNative = (e) => {\n if (!this.clicked) {\n this.clicked = true;\n this.x1 = e.pageX;\n this.y1 = e.pageY;\n this.mouseDragStartEvent = this.createEvent(MouseDragEventType.Start, e);\n }\n };\n\n private handleMouseMove: HandlerNative = (e) => {\n if (this.dragging) {\n return this.dispatchEvent(this.createEvent(MouseDragEventType.Move, e));\n }\n if (this.clicked && this.getLength(e.pageX, e.pageY) > MouseDrag.RADIUS) {\n this.dragging = true;\n this.clicked = false;\n if (this.mouseDragStartEvent) {\n this.dispatchEvent(this.mouseDragStartEvent);\n }\n }\n };\n\n private handleMouseLeave: HandlerNative = (e) => {\n if (this.dragging) {\n this.dispatchEvent(this.createEvent(MouseDragEventType.Leave, e));\n }\n };\n\n private getLength = (x2: number, y2: number): number => {\n if (this.x1 !== undefined && this.y1 !== undefined) {\n return Math.sqrt((x2 - this.x1) ** 2 + (y2 - this.y1) ** 2);\n }\n\n return 0;\n };\n\n private createEvent = (type: MouseDragEventType, e: MouseEvent): MouseDragEvent => {\n if (typeof MouseEvent === 'function') {\n return new MouseEvent(type, e);\n }\n // <=IE11\n const eIE11 = document.createEvent('MouseEvent');\n eIE11.initEvent(type, true, true);\n return eIE11;\n };\n\n private dispatchEvent = (mouseDragEvent: MouseDragEvent): void => {\n if (this.elem !== null) {\n this.elem.dispatchEvent(mouseDragEvent);\n }\n };\n}\n"]}
@@ -40,13 +40,16 @@ function renderItem(item) {
40
40
  return item;
41
41
  }
42
42
 
43
- export
43
+ export var AutocompleteDataTids = {
44
+ root: 'Autocomplete__root'
45
+ };
44
46
  /**
45
- * Стандартный инпут с подсказками.
46
- *
47
- * Все свойства передаются во внутренний *Input*.
48
- */
49
- var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
47
+ * Стандартный инпут с подсказками.
48
+ *
49
+ * Все свойства передаются во внутренний *Input*.
50
+ */
51
+
52
+ export var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
50
53
  _inheritsLoose(Autocomplete, _React$Component);
51
54
 
52
55
  function Autocomplete() {
@@ -101,6 +104,7 @@ var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2
101
104
  onClickOutside: _this.handleClickOutside,
102
105
  active: focused
103
106
  }, /*#__PURE__*/React.createElement("span", {
107
+ "data-tid": AutocompleteDataTids.root,
104
108
  className: styles.root(_this.theme),
105
109
  style: {
106
110
  width: width
@@ -1 +1 @@
1
- {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","styles","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","Autocomplete","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","root","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\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.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span className={styles.root(this.theme)} style={{ width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && getDOMRect(this.rootSpan).width),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
1
+ {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","styles","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","Autocomplete","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n} as const;\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\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.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={styles.root(this.theme)}\n style={{ width }}\n ref={this.refRootSpan}\n >\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && getDOMRect(this.rootSpan).width),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
@@ -41,6 +41,9 @@ export interface AutocompleteState {
41
41
  focused: boolean;
42
42
  isMobileOpened: boolean;
43
43
  }
44
+ export declare const AutocompleteDataTids: {
45
+ readonly root: "Autocomplete__root";
46
+ };
44
47
  /**
45
48
  * Стандартный инпут с подсказками.
46
49
  *