@consta/uikit 3.13.0 → 3.14.0

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 (553) hide show
  1. package/Attach/package.json +1 -1
  2. package/Attachment/package.json +1 -1
  3. package/Avatar/package.json +1 -1
  4. package/Badge/package.json +1 -1
  5. package/BasicSelectDeprecated/package.json +1 -1
  6. package/Breadcrumbs/package.json +1 -1
  7. package/BreadcrumbsCanary/package.json +1 -1
  8. package/Button/package.json +1 -1
  9. package/CHANGELOG.md +23 -6
  10. package/Calendar/package.json +1 -1
  11. package/Card/package.json +1 -1
  12. package/Checkbox/package.json +1 -1
  13. package/CheckboxGroup/package.json +1 -1
  14. package/ChoiceGroup/package.json +1 -1
  15. package/Collapse/package.json +1 -1
  16. package/CollapseGroup/package.json +1 -1
  17. package/Combobox/package.json +1 -1
  18. package/ComboboxDeprecated/package.json +1 -1
  19. package/ContextMenu/package.json +1 -1
  20. package/DatePickerCanary/package.json +1 -1
  21. package/DateTimeCanary/package.json +1 -1
  22. package/DragNDropField/package.json +1 -1
  23. package/EventInterceptor/package.json +1 -1
  24. package/FieldCaption/package.json +1 -1
  25. package/FieldLabel/package.json +1 -1
  26. package/File/package.json +1 -1
  27. package/FileField/package.json +1 -1
  28. package/FileIcon/package.json +1 -1
  29. package/FileIconAvi/package.json +1 -1
  30. package/FileIconBmp/package.json +1 -1
  31. package/FileIconCsv/package.json +1 -1
  32. package/FileIconDoc/package.json +1 -1
  33. package/FileIconExe/package.json +1 -1
  34. package/FileIconGif/package.json +1 -1
  35. package/FileIconJpg/package.json +1 -1
  36. package/FileIconJson/package.json +1 -1
  37. package/FileIconLoading/package.json +1 -1
  38. package/FileIconMov/package.json +1 -1
  39. package/FileIconMp3/package.json +1 -1
  40. package/FileIconMp4/package.json +1 -1
  41. package/FileIconPdf/package.json +1 -1
  42. package/FileIconPng/package.json +1 -1
  43. package/FileIconPtt/package.json +1 -1
  44. package/FileIconRar/package.json +1 -1
  45. package/FileIconRtf/package.json +1 -1
  46. package/FileIconTiff/package.json +1 -1
  47. package/FileIconTxt/package.json +1 -1
  48. package/FileIconUndefined/package.json +1 -1
  49. package/FileIconWav/package.json +1 -1
  50. package/FileIconXls/package.json +1 -1
  51. package/FileIconZip/package.json +1 -1
  52. package/Grid/package.json +1 -1
  53. package/Header/package.json +1 -1
  54. package/Icon/package.json +1 -1
  55. package/IconAdd/package.json +1 -1
  56. package/IconAddToComparison/package.json +1 -1
  57. package/IconAlert/package.json +1 -1
  58. package/IconAlignBlocksLeft/package.json +1 -1
  59. package/IconAlignBlocksRight/package.json +1 -1
  60. package/IconAlignCenter/package.json +1 -1
  61. package/IconAlignJustify/package.json +1 -1
  62. package/IconAlignLeft/package.json +1 -1
  63. package/IconAlignRight/package.json +1 -1
  64. package/IconAllDone/package.json +1 -1
  65. package/IconArrowDown/package.json +1 -1
  66. package/IconArrowLeft/package.json +1 -1
  67. package/IconArrowRight/package.json +1 -1
  68. package/IconArrowUp/package.json +1 -1
  69. package/IconArtBrush/package.json +1 -1
  70. package/IconAttach/package.json +1 -1
  71. package/IconBackward/package.json +1 -1
  72. package/IconBag/package.json +1 -1
  73. package/IconBarrier/package.json +1 -1
  74. package/IconBento/package.json +1 -1
  75. package/IconBold/package.json +1 -1
  76. package/IconBook/package.json +1 -1
  77. package/IconBookmarkFilled/package.json +1 -1
  78. package/IconBookmarkStroked/package.json +1 -1
  79. package/IconCalculator/package.json +1 -1
  80. package/IconCalendar/package.json +1 -1
  81. package/IconCamera/package.json +1 -1
  82. package/IconCancel/package.json +1 -1
  83. package/IconCards/package.json +1 -1
  84. package/IconChat/package.json +1 -1
  85. package/IconCheck/package.json +1 -1
  86. package/IconClose/package.json +1 -1
  87. package/IconCollapse/package.json +1 -1
  88. package/IconColorFill/package.json +1 -1
  89. package/IconColorText/package.json +1 -1
  90. package/IconColumns/package.json +1 -1
  91. package/IconComment/package.json +1 -1
  92. package/IconConnection/package.json +1 -1
  93. package/IconCopy/package.json +1 -1
  94. package/IconCrown/package.json +1 -1
  95. package/IconCursorMouse/package.json +1 -1
  96. package/IconDataNull/package.json +1 -1
  97. package/IconDiamond/package.json +1 -1
  98. package/IconDinosaur/package.json +1 -1
  99. package/IconDisconnection/package.json +1 -1
  100. package/IconDocAdd/package.json +1 -1
  101. package/IconDocBlank/package.json +1 -1
  102. package/IconDocDelete/package.json +1 -1
  103. package/IconDocExport/package.json +1 -1
  104. package/IconDocFilled/package.json +1 -1
  105. package/IconDown/package.json +1 -1
  106. package/IconDownload/package.json +1 -1
  107. package/IconDrag/package.json +1 -1
  108. package/IconDraggable/package.json +1 -1
  109. package/IconDrillingRig/package.json +1 -1
  110. package/IconDrop/package.json +1 -1
  111. package/IconEdit/package.json +1 -1
  112. package/IconExit/package.json +1 -1
  113. package/IconExpand/package.json +1 -1
  114. package/IconEye/package.json +1 -1
  115. package/IconEyeClose/package.json +1 -1
  116. package/IconFavorite/package.json +1 -1
  117. package/IconFilter/package.json +1 -1
  118. package/IconFitToDefault/package.json +1 -1
  119. package/IconFlagFilled/package.json +1 -1
  120. package/IconFlagStroked/package.json +1 -1
  121. package/IconFolders/package.json +1 -1
  122. package/IconForward/package.json +1 -1
  123. package/IconFunnel/package.json +1 -1
  124. package/IconGas/package.json +1 -1
  125. package/IconGeo/package.json +1 -1
  126. package/IconGrouping/package.json +1 -1
  127. package/IconHamburger/package.json +1 -1
  128. package/IconHand/package.json +1 -1
  129. package/IconHealth/package.json +1 -1
  130. package/IconHome/es.js +1 -0
  131. package/IconHome/index.d.ts +1 -0
  132. package/IconHome/index.js +4 -0
  133. package/IconHome/package.json +9 -0
  134. package/IconInComparison/package.json +1 -1
  135. package/IconInfo/package.json +1 -1
  136. package/IconIntroduction/package.json +1 -1
  137. package/IconIpad/package.json +1 -1
  138. package/IconItalic/package.json +1 -1
  139. package/IconKebab/package.json +1 -1
  140. package/IconLaptop/package.json +1 -1
  141. package/IconLayers/package.json +1 -1
  142. package/IconLeaf/package.json +1 -1
  143. package/IconLightningBolt/package.json +1 -1
  144. package/IconLineAndBarChart/package.json +1 -1
  145. package/IconLink/package.json +1 -1
  146. package/IconList/package.json +1 -1
  147. package/IconListNumbered/package.json +1 -1
  148. package/IconLock/package.json +1 -1
  149. package/IconLogicalElement/package.json +1 -1
  150. package/IconMBU/package.json +1 -1
  151. package/IconMGRP/package.json +1 -1
  152. package/IconMLSP/package.json +1 -1
  153. package/IconMMP/package.json +1 -1
  154. package/IconMail/package.json +1 -1
  155. package/IconMap/package.json +1 -1
  156. package/IconMaxHeight/package.json +1 -1
  157. package/IconMaxWidth/package.json +1 -1
  158. package/IconMeatball/package.json +1 -1
  159. package/IconMic/package.json +1 -1
  160. package/IconMolecules/package.json +1 -1
  161. package/IconMoon/package.json +1 -1
  162. package/IconNodeEnd/package.json +1 -1
  163. package/IconNodeStart/package.json +1 -1
  164. package/IconNodeStep/package.json +1 -1
  165. package/IconNodes/package.json +1 -1
  166. package/IconOpenInNew/package.json +1 -1
  167. package/IconOperators/es.js +1 -0
  168. package/IconOperators/index.d.ts +1 -0
  169. package/IconOperators/index.js +4 -0
  170. package/IconOperators/package.json +9 -0
  171. package/IconPanelBottom/package.json +1 -1
  172. package/IconPanelLeft/package.json +1 -1
  173. package/IconPanelRight/package.json +1 -1
  174. package/IconPanelTop/package.json +1 -1
  175. package/IconPaste/package.json +1 -1
  176. package/IconPause/package.json +1 -1
  177. package/IconPhone/package.json +1 -1
  178. package/IconPhoto/package.json +1 -1
  179. package/IconPlay/package.json +1 -1
  180. package/IconPressure/package.json +1 -1
  181. package/IconProcessing/package.json +1 -1
  182. package/IconQuestion/package.json +1 -1
  183. package/IconQuote/package.json +1 -1
  184. package/IconRUO/package.json +1 -1
  185. package/IconRUS/package.json +1 -1
  186. package/IconRecord/package.json +1 -1
  187. package/IconRemove/package.json +1 -1
  188. package/IconRemoveFromComparison/package.json +1 -1
  189. package/IconReply/package.json +1 -1
  190. package/IconResize/package.json +1 -1
  191. package/IconRestart/package.json +1 -1
  192. package/IconRevert/package.json +1 -1
  193. package/IconRing/package.json +1 -1
  194. package/IconRouble/package.json +1 -1
  195. package/IconRuler/package.json +1 -1
  196. package/IconSave/es.js +1 -0
  197. package/IconSave/index.d.ts +1 -0
  198. package/IconSave/index.js +4 -0
  199. package/IconSave/package.json +9 -0
  200. package/IconScreen/package.json +1 -1
  201. package/IconSearch/package.json +1 -1
  202. package/IconSelect/package.json +1 -1
  203. package/IconSelectOpen/package.json +1 -1
  204. package/IconSendMessage/es.js +1 -0
  205. package/IconSendMessage/index.d.ts +1 -0
  206. package/IconSendMessage/index.js +4 -0
  207. package/IconSendMessage/package.json +9 -0
  208. package/IconSettings/package.json +1 -1
  209. package/IconShape/package.json +1 -1
  210. package/IconShuffle/package.json +1 -1
  211. package/IconSmile/package.json +1 -1
  212. package/IconSortDown/package.json +1 -1
  213. package/IconSortDownCenter/package.json +1 -1
  214. package/IconSortUp/package.json +1 -1
  215. package/IconSortUpCenter/package.json +1 -1
  216. package/IconStop/package.json +1 -1
  217. package/IconStorage/package.json +1 -1
  218. package/IconStrikethrough/package.json +1 -1
  219. package/IconSun/package.json +1 -1
  220. package/IconTable/package.json +1 -1
  221. package/IconTarget/package.json +1 -1
  222. package/IconTeam/package.json +1 -1
  223. package/IconTechResponse/es.js +1 -0
  224. package/IconTechResponse/index.d.ts +1 -0
  225. package/IconTechResponse/index.js +4 -0
  226. package/IconTechResponse/package.json +9 -0
  227. package/IconTest/package.json +1 -1
  228. package/IconThumbUp/package.json +1 -1
  229. package/IconTie/package.json +1 -1
  230. package/IconTop/package.json +1 -1
  231. package/IconTrash/package.json +1 -1
  232. package/IconType/package.json +1 -1
  233. package/IconUnderline/package.json +1 -1
  234. package/IconUnlock/package.json +1 -1
  235. package/IconUnsort/package.json +1 -1
  236. package/IconUnsortCenter/package.json +1 -1
  237. package/IconUpload/package.json +1 -1
  238. package/IconUser/package.json +1 -1
  239. package/IconVZD/package.json +1 -1
  240. package/IconVideo/package.json +1 -1
  241. package/IconWarning/package.json +1 -1
  242. package/IconWatch/package.json +1 -1
  243. package/IconWideScreen/package.json +1 -1
  244. package/IconWorld/package.json +1 -1
  245. package/Informer/package.json +1 -1
  246. package/LayoutCanary/package.json +1 -1
  247. package/Loader/package.json +1 -1
  248. package/MixCard/package.json +1 -1
  249. package/MixFocus/package.json +1 -1
  250. package/MixSpace/package.json +1 -1
  251. package/MixVisuallyHidden/package.json +1 -1
  252. package/Modal/package.json +1 -1
  253. package/MultiComboboxDeprecated/package.json +1 -1
  254. package/Pagination/package.json +1 -1
  255. package/Popover/package.json +1 -1
  256. package/PortalWithTheme/package.json +1 -1
  257. package/ProgressSpin/package.json +1 -1
  258. package/ProgressStepBarCanary/package.json +1 -1
  259. package/README.md +1 -0
  260. package/Radio/package.json +1 -1
  261. package/RadioGroup/package.json +1 -1
  262. package/Responses/package.json +1 -1
  263. package/Responses403/package.json +1 -1
  264. package/Responses404/package.json +1 -1
  265. package/Responses500/package.json +1 -1
  266. package/Responses503/package.json +1 -1
  267. package/ResponsesConnectionError/package.json +1 -1
  268. package/ResponsesDeleted/package.json +1 -1
  269. package/ResponsesEmptyBox/package.json +1 -1
  270. package/ResponsesEmptyPockets/package.json +1 -1
  271. package/ResponsesImage/package.json +1 -1
  272. package/ResponsesImage403/package.json +1 -1
  273. package/ResponsesImage404/package.json +1 -1
  274. package/ResponsesImage500/package.json +1 -1
  275. package/ResponsesImage503/package.json +1 -1
  276. package/ResponsesImageConnectionError/package.json +1 -1
  277. package/ResponsesImageDeleted/package.json +1 -1
  278. package/ResponsesImageEmptyBox/package.json +1 -1
  279. package/ResponsesImageEmptyPockets/package.json +1 -1
  280. package/ResponsesImageNothingFound/package.json +1 -1
  281. package/ResponsesImageSuccess/package.json +1 -1
  282. package/ResponsesNothingFound/package.json +1 -1
  283. package/ResponsesSuccess/package.json +1 -1
  284. package/Select/package.json +1 -1
  285. package/Sidebar/package.json +1 -1
  286. package/Skeleton/package.json +1 -1
  287. package/SliderCanary/package.json +1 -1
  288. package/SnackBar/package.json +1 -1
  289. package/Steps/package.json +1 -1
  290. package/Switch/package.json +1 -1
  291. package/SwitchGroup/package.json +1 -1
  292. package/Table/package.json +1 -1
  293. package/Tabs/package.json +1 -1
  294. package/Tag/package.json +1 -1
  295. package/TagBase/package.json +1 -1
  296. package/Text/package.json +1 -1
  297. package/TextField/package.json +1 -1
  298. package/Theme/package.json +1 -1
  299. package/ThemeToggler/package.json +1 -1
  300. package/Timer/package.json +1 -1
  301. package/Tooltip/package.json +1 -1
  302. package/User/package.json +1 -1
  303. package/UserSelect/package.json +1 -1
  304. package/UserSelectDeprecated/package.json +1 -1
  305. package/__internal__/cjs-src/components/Combobox/Combobox.js +3 -3
  306. package/__internal__/cjs-src/components/ContextMenu/ContextMenu.js +2 -2
  307. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerCanary.js +17 -8
  308. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.d.ts +6 -1
  309. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.js +3 -3
  310. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +3 -0
  311. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +4 -4
  312. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDate/helpers.d.ts +3 -0
  313. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.css +83 -0
  314. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +6 -1
  315. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +10 -4
  316. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateRange/helpers.d.ts +2 -0
  317. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +48 -0
  318. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +79 -0
  319. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateTime/helpers.d.ts +51 -0
  320. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateTime/helpers.js +134 -0
  321. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.d.ts +2 -2
  322. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.js +10 -8
  323. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateRange/DatePickerTypeDateRange.d.ts +2 -2
  324. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateRange/DatePickerTypeDateRange.js +5 -14
  325. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateTime/DatePickerTypeDateTime.d.ts +2 -0
  326. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateTime/DatePickerTypeDateTime.js +60 -0
  327. package/__internal__/cjs-src/components/DatePickerCanary/helpers.d.ts +24 -129
  328. package/__internal__/cjs-src/components/DatePickerCanary/helpers.js +30 -10
  329. package/__internal__/cjs-src/components/DatePickerCanary/useCurrentVisibleDate.d.ts +2 -0
  330. package/__internal__/cjs-src/components/DatePickerCanary/useCurrentVisibleDate.js +11 -0
  331. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.css +9 -0
  332. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.d.ts +9 -0
  333. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.js +21 -0
  334. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDate/DateTimeTypeDate.js +15 -10
  335. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDateTime/DateTimeTypeDateTime.js +8 -5
  336. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDateTime/useOnChange.d.ts +1 -1
  337. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDateTime/useOnChange.js +3 -3
  338. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeMonth/DateTimeTypeMonth.js +15 -10
  339. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeTime/DateTimeTypeTime.js +4 -2
  340. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeYear/DateTimeTypeYear.js +15 -10
  341. package/__internal__/cjs-src/components/DateTimeCanary/helpers/types.d.ts +6 -0
  342. package/__internal__/cjs-src/components/FieldLabel/FieldLabel.d.ts +1 -1
  343. package/__internal__/cjs-src/components/Modal/Modal.d.ts +3 -3
  344. package/__internal__/cjs-src/components/Modal/Modal.js +3 -3
  345. package/__internal__/cjs-src/components/ProgressStepBarCanary/ProgressStepBarCanary.js +4 -3
  346. package/__internal__/cjs-src/components/ProgressStepBarCanary/helpers.d.ts +1 -0
  347. package/__internal__/cjs-src/components/Select/Select.js +3 -3
  348. package/__internal__/cjs-src/components/SelectComponents/SelectDropdown/SelectDropdown.js +2 -2
  349. package/__internal__/cjs-src/components/Sidebar/Sidebar.d.ts +4 -3
  350. package/__internal__/cjs-src/components/Sidebar/Sidebar.js +3 -3
  351. package/__internal__/cjs-src/components/SliderCanary/SliderCanary.js +3 -3
  352. package/__internal__/cjs-src/components/SliderCanary/SliderPoint/SliderPoint.js +2 -2
  353. package/__internal__/cjs-src/components/SliderCanary/helper.d.ts +1 -0
  354. package/__internal__/cjs-src/components/Table/Cell/TableCell.d.ts +1 -0
  355. package/__internal__/cjs-src/components/Table/Cell/TableCell.js +2 -2
  356. package/__internal__/cjs-src/components/Table/Header/TableHeader.d.ts +3 -2
  357. package/__internal__/cjs-src/components/Table/Header/TableHeader.js +16 -2
  358. package/__internal__/cjs-src/components/Table/Table.d.ts +9 -0
  359. package/__internal__/cjs-src/components/Table/Table.js +43 -5
  360. package/__internal__/cjs-src/components/ThemeToggler/ThemeToggler.js +3 -3
  361. package/__internal__/cjs-src/components/UserSelect/UserSelect.js +3 -3
  362. package/__internal__/cjs-src/hocs/withTooltip/withTooltip.js +3 -3
  363. package/__internal__/cjs-src/icons/IconHome/IconHome.d.ts +5 -0
  364. package/__internal__/cjs-src/icons/IconHome/IconHome.js +14 -0
  365. package/__internal__/cjs-src/icons/IconHome/IconHome_size_m.d.ts +3 -0
  366. package/__internal__/cjs-src/icons/IconHome/IconHome_size_m.js +9 -0
  367. package/__internal__/cjs-src/icons/IconHome/IconHome_size_m.svg +5 -0
  368. package/__internal__/cjs-src/icons/IconHome/IconHome_size_s.d.ts +3 -0
  369. package/__internal__/cjs-src/icons/IconHome/IconHome_size_s.js +9 -0
  370. package/__internal__/cjs-src/icons/IconHome/IconHome_size_s.svg +5 -0
  371. package/__internal__/cjs-src/icons/IconHome/IconHome_size_xs.d.ts +3 -0
  372. package/__internal__/cjs-src/icons/IconHome/IconHome_size_xs.js +9 -0
  373. package/__internal__/cjs-src/icons/IconHome/IconHome_size_xs.svg +5 -0
  374. package/__internal__/cjs-src/icons/IconOperators/IconOperators.d.ts +5 -0
  375. package/__internal__/cjs-src/icons/IconOperators/IconOperators.js +14 -0
  376. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_m.d.ts +3 -0
  377. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_m.js +11 -0
  378. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_m.svg +20 -0
  379. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_s.d.ts +3 -0
  380. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_s.js +9 -0
  381. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_s.svg +20 -0
  382. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_xs.d.ts +3 -0
  383. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_xs.js +9 -0
  384. package/__internal__/cjs-src/icons/IconOperators/IconOperators_size_xs.svg +18 -0
  385. package/__internal__/cjs-src/icons/IconSave/IconSave.d.ts +5 -0
  386. package/__internal__/cjs-src/icons/IconSave/IconSave.js +14 -0
  387. package/__internal__/cjs-src/icons/IconSave/IconSave_size_m.d.ts +3 -0
  388. package/__internal__/cjs-src/icons/IconSave/IconSave_size_m.js +9 -0
  389. package/__internal__/cjs-src/icons/IconSave/IconSave_size_m.svg +5 -0
  390. package/__internal__/cjs-src/icons/IconSave/IconSave_size_s.d.ts +3 -0
  391. package/__internal__/cjs-src/icons/IconSave/IconSave_size_s.js +9 -0
  392. package/__internal__/cjs-src/icons/IconSave/IconSave_size_s.svg +5 -0
  393. package/__internal__/cjs-src/icons/IconSave/IconSave_size_xs.d.ts +3 -0
  394. package/__internal__/cjs-src/icons/IconSave/IconSave_size_xs.js +9 -0
  395. package/__internal__/cjs-src/icons/IconSave/IconSave_size_xs.svg +5 -0
  396. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage.d.ts +5 -0
  397. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage.js +14 -0
  398. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_m.d.ts +3 -0
  399. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_m.js +9 -0
  400. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_m.svg +5 -0
  401. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_s.d.ts +3 -0
  402. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_s.js +9 -0
  403. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_s.svg +5 -0
  404. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_xs.d.ts +3 -0
  405. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_xs.js +9 -0
  406. package/__internal__/cjs-src/icons/IconSendMessage/IconSendMessage_size_xs.svg +5 -0
  407. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse.d.ts +5 -0
  408. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse.js +14 -0
  409. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_m.d.ts +3 -0
  410. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_m.js +10 -0
  411. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_m.svg +17 -0
  412. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_s.d.ts +3 -0
  413. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_s.js +10 -0
  414. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_s.svg +17 -0
  415. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_xs.d.ts +3 -0
  416. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_xs.js +10 -0
  417. package/__internal__/cjs-src/icons/IconTechResponse/IconTechResponse_size_xs.svg +17 -0
  418. package/__internal__/src/components/Combobox/Combobox.js +3 -3
  419. package/__internal__/src/components/ContextMenu/ContextMenu.js +2 -2
  420. package/__internal__/src/components/DatePickerCanary/DatePickerCanary.js +19 -10
  421. package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.d.ts +6 -1
  422. package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.js +3 -3
  423. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +3 -0
  424. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +5 -5
  425. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDate/helpers.d.ts +3 -0
  426. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.css +83 -0
  427. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +6 -1
  428. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +10 -4
  429. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateRange/helpers.d.ts +2 -0
  430. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +48 -0
  431. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +76 -0
  432. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateTime/helpers.d.ts +51 -0
  433. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateTime/helpers.js +131 -0
  434. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.d.ts +2 -2
  435. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.js +10 -8
  436. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateRange/DatePickerTypeDateRange.d.ts +2 -2
  437. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateRange/DatePickerTypeDateRange.js +5 -14
  438. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateTime/DatePickerTypeDateTime.d.ts +2 -0
  439. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateTime/DatePickerTypeDateTime.js +57 -0
  440. package/__internal__/src/components/DatePickerCanary/helpers.d.ts +24 -129
  441. package/__internal__/src/components/DatePickerCanary/helpers.js +29 -9
  442. package/__internal__/src/components/DatePickerCanary/useCurrentVisibleDate.d.ts +2 -0
  443. package/__internal__/src/components/DatePickerCanary/useCurrentVisibleDate.js +8 -0
  444. package/__internal__/src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.css +9 -0
  445. package/__internal__/src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.d.ts +9 -0
  446. package/__internal__/src/components/DateTimeCanary/DateTimeAdditionalControls/DateTimeAdditionalControls.js +17 -0
  447. package/__internal__/src/components/DateTimeCanary/DateTimeTypeDate/DateTimeTypeDate.js +15 -10
  448. package/__internal__/src/components/DateTimeCanary/DateTimeTypeDateTime/DateTimeTypeDateTime.js +8 -5
  449. package/__internal__/src/components/DateTimeCanary/DateTimeTypeDateTime/useOnChange.d.ts +1 -1
  450. package/__internal__/src/components/DateTimeCanary/DateTimeTypeDateTime/useOnChange.js +4 -4
  451. package/__internal__/src/components/DateTimeCanary/DateTimeTypeMonth/DateTimeTypeMonth.js +15 -10
  452. package/__internal__/src/components/DateTimeCanary/DateTimeTypeTime/DateTimeTypeTime.js +4 -2
  453. package/__internal__/src/components/DateTimeCanary/DateTimeTypeYear/DateTimeTypeYear.js +15 -10
  454. package/__internal__/src/components/DateTimeCanary/helpers/types.d.ts +6 -0
  455. package/__internal__/src/components/FieldLabel/FieldLabel.d.ts +1 -1
  456. package/__internal__/src/components/Modal/Modal.d.ts +3 -3
  457. package/__internal__/src/components/Modal/Modal.js +3 -3
  458. package/__internal__/src/components/ProgressStepBarCanary/ProgressStepBarCanary.js +4 -3
  459. package/__internal__/src/components/ProgressStepBarCanary/helpers.d.ts +1 -0
  460. package/__internal__/src/components/Select/Select.js +3 -3
  461. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +3 -3
  462. package/__internal__/src/components/Sidebar/Sidebar.d.ts +4 -3
  463. package/__internal__/src/components/Sidebar/Sidebar.js +3 -3
  464. package/__internal__/src/components/SliderCanary/SliderCanary.js +3 -3
  465. package/__internal__/src/components/SliderCanary/SliderPoint/SliderPoint.js +2 -2
  466. package/__internal__/src/components/SliderCanary/helper.d.ts +1 -0
  467. package/__internal__/src/components/Table/Cell/TableCell.d.ts +1 -0
  468. package/__internal__/src/components/Table/Cell/TableCell.js +2 -2
  469. package/__internal__/src/components/Table/Header/TableHeader.d.ts +3 -2
  470. package/__internal__/src/components/Table/Header/TableHeader.js +16 -2
  471. package/__internal__/src/components/Table/Table.d.ts +9 -0
  472. package/__internal__/src/components/Table/Table.js +43 -5
  473. package/__internal__/src/components/ThemeToggler/ThemeToggler.js +3 -3
  474. package/__internal__/src/components/UserSelect/UserSelect.js +3 -3
  475. package/__internal__/src/hocs/withTooltip/withTooltip.js +3 -3
  476. package/__internal__/src/icons/IconHome/IconHome.d.ts +5 -0
  477. package/__internal__/src/icons/IconHome/IconHome.js +10 -0
  478. package/__internal__/src/icons/IconHome/IconHome_size_m.d.ts +3 -0
  479. package/__internal__/src/icons/IconHome/IconHome_size_m.js +7 -0
  480. package/__internal__/src/icons/IconHome/IconHome_size_m.svg +5 -0
  481. package/__internal__/src/icons/IconHome/IconHome_size_s.d.ts +3 -0
  482. package/__internal__/src/icons/IconHome/IconHome_size_s.js +7 -0
  483. package/__internal__/src/icons/IconHome/IconHome_size_s.svg +5 -0
  484. package/__internal__/src/icons/IconHome/IconHome_size_xs.d.ts +3 -0
  485. package/__internal__/src/icons/IconHome/IconHome_size_xs.js +7 -0
  486. package/__internal__/src/icons/IconHome/IconHome_size_xs.svg +5 -0
  487. package/__internal__/src/icons/IconOperators/IconOperators.d.ts +5 -0
  488. package/__internal__/src/icons/IconOperators/IconOperators.js +10 -0
  489. package/__internal__/src/icons/IconOperators/IconOperators_size_m.d.ts +3 -0
  490. package/__internal__/src/icons/IconOperators/IconOperators_size_m.js +9 -0
  491. package/__internal__/src/icons/IconOperators/IconOperators_size_m.svg +20 -0
  492. package/__internal__/src/icons/IconOperators/IconOperators_size_s.d.ts +3 -0
  493. package/__internal__/src/icons/IconOperators/IconOperators_size_s.js +7 -0
  494. package/__internal__/src/icons/IconOperators/IconOperators_size_s.svg +20 -0
  495. package/__internal__/src/icons/IconOperators/IconOperators_size_xs.d.ts +3 -0
  496. package/__internal__/src/icons/IconOperators/IconOperators_size_xs.js +7 -0
  497. package/__internal__/src/icons/IconOperators/IconOperators_size_xs.svg +18 -0
  498. package/__internal__/src/icons/IconSave/IconSave.d.ts +5 -0
  499. package/__internal__/src/icons/IconSave/IconSave.js +10 -0
  500. package/__internal__/src/icons/IconSave/IconSave_size_m.d.ts +3 -0
  501. package/__internal__/src/icons/IconSave/IconSave_size_m.js +7 -0
  502. package/__internal__/src/icons/IconSave/IconSave_size_m.svg +5 -0
  503. package/__internal__/src/icons/IconSave/IconSave_size_s.d.ts +3 -0
  504. package/__internal__/src/icons/IconSave/IconSave_size_s.js +7 -0
  505. package/__internal__/src/icons/IconSave/IconSave_size_s.svg +5 -0
  506. package/__internal__/src/icons/IconSave/IconSave_size_xs.d.ts +3 -0
  507. package/__internal__/src/icons/IconSave/IconSave_size_xs.js +7 -0
  508. package/__internal__/src/icons/IconSave/IconSave_size_xs.svg +5 -0
  509. package/__internal__/src/icons/IconSendMessage/IconSendMessage.d.ts +5 -0
  510. package/__internal__/src/icons/IconSendMessage/IconSendMessage.js +10 -0
  511. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_m.d.ts +3 -0
  512. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_m.js +7 -0
  513. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_m.svg +5 -0
  514. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_s.d.ts +3 -0
  515. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_s.js +7 -0
  516. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_s.svg +5 -0
  517. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_xs.d.ts +3 -0
  518. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_xs.js +7 -0
  519. package/__internal__/src/icons/IconSendMessage/IconSendMessage_size_xs.svg +5 -0
  520. package/__internal__/src/icons/IconTechResponse/IconTechResponse.d.ts +5 -0
  521. package/__internal__/src/icons/IconTechResponse/IconTechResponse.js +10 -0
  522. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_m.d.ts +3 -0
  523. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_m.js +8 -0
  524. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_m.svg +17 -0
  525. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_s.d.ts +3 -0
  526. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_s.js +8 -0
  527. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_s.svg +17 -0
  528. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_xs.d.ts +3 -0
  529. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_xs.js +8 -0
  530. package/__internal__/src/icons/IconTechResponse/IconTechResponse_size_xs.svg +17 -0
  531. package/createIcon/package.json +1 -1
  532. package/createResponsesImage/package.json +1 -1
  533. package/package.json +6 -1
  534. package/useBreakpoints/package.json +1 -1
  535. package/useChoiceGroup/package.json +1 -1
  536. package/useChoiceGroupIndexed/package.json +1 -1
  537. package/useClickOutside/package.json +1 -1
  538. package/useComponentSize/package.json +1 -1
  539. package/useDebounce/package.json +1 -1
  540. package/useFlag/package.json +1 -1
  541. package/useForkRef/package.json +1 -1
  542. package/useGlobalKeys/package.json +1 -1
  543. package/useKeys/package.json +1 -1
  544. package/useMutableRef/package.json +1 -1
  545. package/useOverflow/package.json +1 -1
  546. package/usePrevious/package.json +1 -1
  547. package/useResizeObserved/package.json +1 -1
  548. package/useScrollElements/package.json +1 -1
  549. package/useScrollPosition/package.json +1 -1
  550. package/useSelect/package.json +1 -1
  551. package/useThemeVars/package.json +1 -1
  552. package/useTimer/package.json +1 -1
  553. package/withTooltip/package.json +1 -1
@@ -0,0 +1,76 @@
1
+ import { __assign, __read, __rest } from "tslib";
2
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { format, isValid, isWithinInterval, parse } from 'date-fns';
4
+ import { useForkRef } from '../../../hooks/useForkRef/useForkRef';
5
+ import { useMutableRef } from '../../../hooks/useMutableRef/useMutableRef';
6
+ import { maxDateDefault, minDateDefault } from '../../../utils/date';
7
+ import { TextField } from '../../TextField/TextField';
8
+ import { datePickerErrorTypes, datePickerPropFormatTypeDateTime, datePickerPropPlaceholderTypeDateTime, datePickerPropSeparatorDefault, } from '../helpers';
9
+ import { getParts, getPartsDate, useImask } from './helpers';
10
+ export var DatePickerFieldTypeDateTime = React.forwardRef(function (props, ref) {
11
+ var _a = props.format, formatProp = _a === void 0 ? datePickerPropFormatTypeDateTime : _a, _b = props.separator, separator = _b === void 0 ? datePickerPropSeparatorDefault : _b, _c = props.placeholder, placeholder = _c === void 0 ? datePickerPropPlaceholderTypeDateTime : _c, onChange = props.onChange, onError = props.onError, _d = props.minDate, minDate = _d === void 0 ? minDateDefault : _d, _e = props.maxDate, maxDate = _e === void 0 ? maxDateDefault : _e, value = props.value, inputRefProp = props.inputRef, multiplicityHours = props.multiplicityHours, multiplicitySeconds = props.multiplicitySeconds, multiplicityMinutes = props.multiplicityMinutes, otherProps = __rest(props, ["format", "separator", "placeholder", "onChange", "onError", "minDate", "maxDate", "value", "inputRef", "multiplicityHours", "multiplicitySeconds", "multiplicityMinutes"]);
12
+ var inputRef = useRef(null);
13
+ var onChangeRef = useMutableRef(onChange);
14
+ var _f = __read(useState(value && isValid(value) ? format(value, formatProp) : null), 2), stringValue = _f[0], setStringValue = _f[1];
15
+ var formatParts = useMemo(function () { return getParts(formatProp, separator); }, [formatProp, separator]);
16
+ var handleChange = useCallback(function (e, stringValue) {
17
+ setStringValue(stringValue);
18
+ var onChange = onChangeRef.current;
19
+ if (onChange) {
20
+ if (!stringValue) {
21
+ onChange({ e: e, value: null });
22
+ return;
23
+ }
24
+ var partsDate = getPartsDate(stringValue, formatProp, separator);
25
+ var _a = __read(partsDate, 6), dd = _a[0], MM = _a[1], yyyy = _a[2], HH = _a[3], mm = _a[4], ss = _a[5];
26
+ if (partsDate.filter(function (item) { return !!item; }).length === formatParts.length) {
27
+ var date = parse("" + dd + datePickerPropSeparatorDefault + MM + datePickerPropSeparatorDefault + yyyy + " " + (HH ||
28
+ '00') + ":" + (mm || '00') + ":" + (ss || '00'), datePickerPropFormatTypeDateTime, new Date());
29
+ if (!isWithinInterval(date, { start: minDate, end: maxDate })) {
30
+ onError === null || onError === void 0 ? void 0 : onError({
31
+ type: datePickerErrorTypes[0],
32
+ stringValue: stringValue,
33
+ dd: dd,
34
+ MM: MM,
35
+ yyyy: yyyy,
36
+ date: date,
37
+ HH: HH,
38
+ mm: mm,
39
+ ss: ss
40
+ });
41
+ onChange({ e: e, value: null });
42
+ return;
43
+ }
44
+ onChange({ e: e, value: date });
45
+ }
46
+ else {
47
+ onChange({ e: e, value: null });
48
+ }
49
+ }
50
+ }, [minDate === null || minDate === void 0 ? void 0 : minDate.getTime(), maxDate === null || maxDate === void 0 ? void 0 : maxDate.getTime(), formatProp, separator]);
51
+ useImask(formatProp, separator, multiplicityHours, multiplicitySeconds, multiplicityMinutes, inputRef, stringValue, onError);
52
+ // при изменении value, нужно обновить stringValue
53
+ useEffect(function () {
54
+ if (value && isValid(value)) {
55
+ setStringValue(format(value, formatProp));
56
+ }
57
+ else if ((stringValue === null || stringValue === void 0 ? void 0 : stringValue.length) === formatProp.length) {
58
+ // если количество введенных символов меньше чем в формате маски
59
+ // то не нужно мешать вводу с клавиатуры
60
+ // если дата была введена полностью и value пришел null,
61
+ // то можно считать что поле нуждается в очистке
62
+ setStringValue('');
63
+ }
64
+ }, [value === null || value === void 0 ? void 0 : value.getTime()]);
65
+ // задаем нативный oninput, так как с маской по другому не будет работать
66
+ // обнавляем oninput при смене handleChange
67
+ useEffect(function () {
68
+ if (inputRef.current) {
69
+ inputRef.current.oninput = function (e) {
70
+ var _a;
71
+ handleChange(e, ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value) || '');
72
+ };
73
+ }
74
+ }, [handleChange]);
75
+ return (React.createElement(TextField, __assign({}, otherProps, { type: "text", inputContainerRef: ref, inputRef: useForkRef([inputRef, inputRefProp]), value: stringValue, placeholder: placeholder })));
76
+ });
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ import { IconComponent, IconPropSize } from '../../../icons/Icon/Icon';
3
+ import { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';
4
+ import { TextFieldPropForm, TextFieldPropSize, TextFieldPropStatus, TextFieldPropView, TextFieldPropWidth } from '../../TextField/TextField';
5
+ import { DatePickerPropOnError } from '../helpers';
6
+ declare type DatePickerFieldTypeDateTimePropOnChange = (props: {
7
+ e: Event;
8
+ value: Date | null;
9
+ }) => void;
10
+ export declare type DatePickerFieldTypeDateTimeProps = PropsWithHTMLAttributes<{
11
+ className?: string;
12
+ value?: Date | null;
13
+ onChange?: DatePickerFieldTypeDateTimePropOnChange;
14
+ onError?: DatePickerPropOnError;
15
+ id?: string;
16
+ name?: string;
17
+ disabled?: boolean;
18
+ size?: TextFieldPropSize;
19
+ view?: TextFieldPropView;
20
+ form?: TextFieldPropForm;
21
+ status?: TextFieldPropStatus;
22
+ width?: TextFieldPropWidth;
23
+ onFocus?: React.FocusEventHandler<HTMLElement>;
24
+ onBlur?: React.FocusEventHandler<HTMLElement>;
25
+ autoFocus?: boolean;
26
+ placeholder?: string;
27
+ leftSide?: string | IconComponent;
28
+ rightSide?: string | IconComponent;
29
+ readOnly?: boolean;
30
+ required?: boolean;
31
+ tabIndex?: number;
32
+ inputRef?: React.Ref<HTMLTextAreaElement | HTMLInputElement>;
33
+ ariaLabel?: string;
34
+ iconSize?: IconPropSize;
35
+ children?: never;
36
+ format?: string;
37
+ separator?: string;
38
+ minDate?: Date;
39
+ maxDate?: Date;
40
+ focused?: boolean;
41
+ multiplicitySeconds?: number;
42
+ multiplicityMinutes?: number;
43
+ multiplicityHours?: number;
44
+ label?: string;
45
+ caption?: string;
46
+ labelPosition?: 'top' | 'left';
47
+ }, HTMLDivElement>;
48
+ export declare const getParts: (format: string, separator: string) => string[];
49
+ export declare const getPartsDate: (value: string, format: string, separator: string, markers?: string[]) => (string | undefined)[];
50
+ export declare const useImask: (formatProp: string, separator: string, multiplicityHours: number | undefined, multiplicitySeconds: number | undefined, multiplicityMinutes: number | undefined, inputRef: React.RefObject<HTMLInputElement>, stringValue: string | null, onError: DatePickerPropOnError | undefined) => void;
51
+ export {};
@@ -0,0 +1,131 @@
1
+ import { __read, __spread } from "tslib";
2
+ import { useEffect, useRef } from 'react';
3
+ import { addHours, addMinutes, addSeconds, format, isValid, parse, startOfDay, startOfHour, startOfMinute, } from 'date-fns';
4
+ import IMask from 'imask';
5
+ import { leapYear } from '../../../utils/date';
6
+ import { getLabelHours, getLabelMinutes, getLabelSeconds } from '../../DateTimeCanary/helpers';
7
+ import { datePickerErrorTypes, datePickerPropFormatTypeDate, datePickerPropSeparatorDefault, getTimeEnum, } from '../helpers';
8
+ var getPartDate = function (formatArray, stringArray, marker) {
9
+ var index = formatArray.indexOf(marker);
10
+ if (index >= 0 && stringArray[index] && stringArray[index].length === marker.length) {
11
+ return stringArray[index];
12
+ }
13
+ return undefined;
14
+ };
15
+ export var getParts = function (format, separator) {
16
+ var _a = __read(format.split(' '), 2), date = _a[0], time = _a[1];
17
+ return __spread((date ? date.split(separator) : []), (time ? time.split(':') : []));
18
+ };
19
+ export var getPartsDate = function (value, format, separator, markers) {
20
+ if (markers === void 0) { markers = ['dd', 'MM', 'yyyy', 'HH', 'mm', 'ss']; }
21
+ var formatArray = getParts(format, separator);
22
+ var stringArray = getParts(value, separator);
23
+ return markers.map(function (marker) { return getPartDate(formatArray, stringArray, marker); });
24
+ };
25
+ export var useImask = function (formatProp, separator, multiplicityHours, multiplicitySeconds, multiplicityMinutes, inputRef, stringValue, onError) {
26
+ var imaskRef = useRef(null);
27
+ // задаем маску и сохраняем обьект маски в ref
28
+ // обнавляем при смене формата
29
+ useEffect(function () {
30
+ if (!inputRef.current) {
31
+ return;
32
+ }
33
+ imaskRef.current = IMask(inputRef.current, {
34
+ mask: Date,
35
+ pattern: formatProp,
36
+ blocks: {
37
+ yyyy: {
38
+ mask: IMask.MaskedRange,
39
+ from: 1,
40
+ to: 9999
41
+ },
42
+ MM: {
43
+ mask: IMask.MaskedRange,
44
+ from: 1,
45
+ to: 12
46
+ },
47
+ dd: {
48
+ mask: IMask.MaskedRange,
49
+ from: 1,
50
+ to: 31
51
+ },
52
+ HH: multiplicityHours && multiplicityHours > 0
53
+ ? {
54
+ mask: IMask.MaskedEnum,
55
+ "enum": getTimeEnum(24, multiplicityHours, startOfDay, addHours, getLabelHours)
56
+ }
57
+ : {
58
+ mask: IMask.MaskedRange,
59
+ from: 0,
60
+ to: 23
61
+ },
62
+ mm: multiplicityMinutes && multiplicityMinutes > 0
63
+ ? {
64
+ mask: IMask.MaskedEnum,
65
+ "enum": getTimeEnum(60, multiplicityMinutes, startOfHour, addMinutes, getLabelMinutes)
66
+ }
67
+ : {
68
+ mask: IMask.MaskedRange,
69
+ from: 0,
70
+ to: 59
71
+ },
72
+ ss: multiplicitySeconds && multiplicitySeconds > 0
73
+ ? {
74
+ mask: IMask.MaskedEnum,
75
+ "enum": getTimeEnum(60, multiplicitySeconds, startOfMinute, addSeconds, getLabelSeconds)
76
+ }
77
+ : {
78
+ mask: IMask.MaskedRange,
79
+ from: 0,
80
+ to: 59
81
+ }
82
+ },
83
+ lazy: true,
84
+ autofix: true,
85
+ format: function (date) { return format(date, formatProp); },
86
+ parse: function (string) { return parse(string, formatProp, new Date()); },
87
+ validate: function (string) {
88
+ var _a = __read(getPartsDate(string, formatProp, separator), 6), dd = _a[0], MM = _a[1], yyyy = _a[2], HH = _a[3], mm = _a[4], ss = _a[5];
89
+ if (dd &&
90
+ MM &&
91
+ !isValid(parse("" + dd + datePickerPropSeparatorDefault + MM + datePickerPropSeparatorDefault + leapYear, datePickerPropFormatTypeDate, new Date()))) {
92
+ onError === null || onError === void 0 ? void 0 : onError({
93
+ type: datePickerErrorTypes[1],
94
+ stringValue: string,
95
+ dd: dd,
96
+ MM: MM,
97
+ yyyy: yyyy,
98
+ HH: HH,
99
+ mm: mm,
100
+ ss: ss
101
+ });
102
+ return false;
103
+ }
104
+ if (dd &&
105
+ MM &&
106
+ yyyy &&
107
+ !isValid(parse("" + dd + datePickerPropSeparatorDefault + MM + datePickerPropSeparatorDefault + yyyy, datePickerPropFormatTypeDate, new Date()))) {
108
+ onError === null || onError === void 0 ? void 0 : onError({
109
+ type: datePickerErrorTypes[1],
110
+ stringValue: string,
111
+ dd: dd,
112
+ MM: MM,
113
+ yyyy: yyyy,
114
+ HH: HH,
115
+ mm: mm,
116
+ ss: ss
117
+ });
118
+ return false;
119
+ }
120
+ return true;
121
+ }
122
+ });
123
+ }, [formatProp, separator, multiplicityHours, multiplicitySeconds, multiplicityMinutes]);
124
+ // Нужно для синхранизации value c Imask,
125
+ // так как value мы можем задать через пропс без самого ввода,
126
+ // и Imask требует ручной синхронихации в этом случае
127
+ useEffect(function () {
128
+ var _a;
129
+ (_a = imaskRef.current) === null || _a === void 0 ? void 0 : _a.updateValue();
130
+ }, [stringValue]);
131
+ };
@@ -1,2 +1,2 @@
1
- import { DatePickerTypeDateComponent } from '../helpers';
2
- export declare const DatePickerTypeDate: DatePickerTypeDateComponent;
1
+ import { DatePickerTypeComponent } from '../helpers';
2
+ export declare const DatePickerTypeDate: DatePickerTypeComponent<'date'>;
@@ -3,19 +3,21 @@ import React, { forwardRef, useEffect, useRef, useState } from 'react';
3
3
  import addMonths from 'date-fns/addMonths';
4
4
  import startOfMonth from 'date-fns/startOfMonth';
5
5
  import { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';
6
+ import { useFlag } from '../../../hooks/useFlag/useFlag';
6
7
  import { setRef } from '../../../utils/setRef';
7
8
  import { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';
8
9
  import { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';
10
+ import { useCurrentVisibleDate } from '../useCurrentVisibleDate';
9
11
  export var DatePickerTypeDate = forwardRef(function (props, ref) {
10
- var events = props.events, dateTimeView = props.dateTimeView, locale = props.locale, dropdownForm = props.dropdownForm, onFocus = props.onFocus, otherProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "onFocus"]);
12
+ var events = props.events, dateTimeView = props.dateTimeView, locale = props.locale, dropdownForm = props.dropdownForm, onFocus = props.onFocus, currentVisibleDateProp = props.currentVisibleDate, onChangeCurrentVisibleDateProp = props.onChangeCurrentVisibleDate, renderAdditionalControls = props.renderAdditionalControls, style = props.style, otherProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "onFocus", "currentVisibleDate", "onChangeCurrentVisibleDate", "renderAdditionalControls", "style"]);
11
13
  var fieldRef = useRef(null);
12
14
  var calendarRef = useRef(null);
13
- var _a = __read(useState(false), 2), calendarVisible = _a[0], setCalendarVisible = _a[1];
14
- var _b = __read(useState(), 2), currentVisibleDate = _b[0], setCurrentVisibleDate = _b[1];
15
+ var _a = __read(useFlag(false), 2), calendarVisible = _a[0], setCalendarVisible = _a[1];
16
+ var _b = __read(useCurrentVisibleDate(currentVisibleDateProp, onChangeCurrentVisibleDateProp), 2), currentVisibleDate = _b[0], setCurrentVisibleDate = _b[1];
15
17
  var _c = __read(useState(), 2), calendarVisibleDate = _c[0], setCalendarVisibleDate = _c[1];
16
18
  var onFocusHandler = function (e) {
17
19
  onFocus && onFocus(e);
18
- setCalendarVisible(true);
20
+ setCalendarVisible.on();
19
21
  };
20
22
  useEffect(function () {
21
23
  if (ref) {
@@ -39,7 +41,7 @@ export var DatePickerTypeDate = forwardRef(function (props, ref) {
39
41
  }
40
42
  }, [props.value]);
41
43
  var handleClose = function () {
42
- setCalendarVisible(false);
44
+ setCalendarVisible.off();
43
45
  setCurrentVisibleDate(undefined);
44
46
  };
45
47
  useClickOutside({
@@ -48,10 +50,10 @@ export var DatePickerTypeDate = forwardRef(function (props, ref) {
48
50
  handler: handleClose
49
51
  });
50
52
  return (React.createElement(React.Fragment, null,
51
- React.createElement(DatePickerFieldTypeDate, __assign({}, otherProps, { ref: fieldRef, onFocus: onFocusHandler })),
52
- React.createElement(DatePickerDropdown, { ref: calendarRef, anchorRef: fieldRef, isOpen: calendarVisible, value: props.value || undefined, type: props.type, view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, currentVisibleDate: currentVisibleDate, form: dropdownForm, onChange: function (params) {
53
+ React.createElement(DatePickerFieldTypeDate, __assign({}, otherProps, { ref: fieldRef, onFocus: onFocusHandler, style: style })),
54
+ React.createElement(DatePickerDropdown, { ref: calendarRef, anchorRef: fieldRef, isOpen: calendarVisible, value: props.value || undefined, type: "date", view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, currentVisibleDate: currentVisibleDate, form: dropdownForm, onChange: function (params) {
53
55
  var _a;
54
56
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, params);
55
57
  handleClose();
56
- }, onChangeCurrentVisibleDate: function (date) { return setCalendarVisibleDate(date); } })));
58
+ }, renderAdditionalControls: renderAdditionalControls, zIndex: typeof (style === null || style === void 0 ? void 0 : style.zIndex) === 'number' ? style.zIndex + 1 : undefined, onChangeCurrentVisibleDate: setCalendarVisibleDate })));
57
59
  });
@@ -1,2 +1,2 @@
1
- import { DatePickerTypeDateRangeComponent } from '../helpers';
2
- export declare const DatePickerTypeDateRange: DatePickerTypeDateRangeComponent;
1
+ import { DatePickerTypeComponent } from '../helpers';
2
+ export declare const DatePickerTypeDateRange: DatePickerTypeComponent<'date-range'>;
@@ -7,9 +7,10 @@ import { useForkRef } from '../../../hooks/useForkRef/useForkRef';
7
7
  import { DatePickerDropdown, } from '../DatePickerDropdown/DatePickerDropdown';
8
8
  import { DatePickerFieldTypeDateRange } from '../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange';
9
9
  import { normalizeRangeValue } from '../helpers';
10
+ import { useCurrentVisibleDate } from '../useCurrentVisibleDate';
10
11
  export var DatePickerTypeDateRange = forwardRef(function (props, ref) {
11
12
  var _a, _b, _c, _d;
12
- var events = props.events, dateTimeView = props.dateTimeView, locale = props.locale, dropdownForm = props.dropdownForm, startFieldRightSide = props.startFieldRightSide, startFieldLeftSide = props.startFieldLeftSide, startFieldOnBlur = props.startFieldOnBlur, startFieldOnFocus = props.startFieldOnFocus, endFieldRightSide = props.endFieldRightSide, endFieldLeftSide = props.endFieldLeftSide, endFieldOnBlur = props.endFieldOnBlur, endFieldOnFocus = props.endFieldOnFocus, onFocus = props.onFocus, onBlur = props.onBlur, leftSide = props.leftSide, rightSide = props.rightSide, endFieldInputRefProp = props.endFieldInputRef, startFieldInputRefProp = props.startFieldInputRef, fieldProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "startFieldRightSide", "startFieldLeftSide", "startFieldOnBlur", "startFieldOnFocus", "endFieldRightSide", "endFieldLeftSide", "endFieldOnBlur", "endFieldOnFocus", "onFocus", "onBlur", "leftSide", "rightSide", "endFieldInputRef", "startFieldInputRef"]);
13
+ var events = props.events, dateTimeView = props.dateTimeView, locale = props.locale, dropdownForm = props.dropdownForm, startFieldRightSide = props.startFieldRightSide, startFieldLeftSide = props.startFieldLeftSide, startFieldOnBlur = props.startFieldOnBlur, startFieldOnFocus = props.startFieldOnFocus, endFieldRightSide = props.endFieldRightSide, endFieldLeftSide = props.endFieldLeftSide, endFieldOnBlur = props.endFieldOnBlur, endFieldOnFocus = props.endFieldOnFocus, onFocus = props.onFocus, onBlur = props.onBlur, leftSide = props.leftSide, rightSide = props.rightSide, endFieldInputRefProp = props.endFieldInputRef, startFieldInputRefProp = props.startFieldInputRef, style = props.style, currentVisibleDateProp = props.currentVisibleDate, onChangeCurrentVisibleDateProp = props.onChangeCurrentVisibleDate, renderAdditionalControls = props.renderAdditionalControls, fieldProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "startFieldRightSide", "startFieldLeftSide", "startFieldOnBlur", "startFieldOnFocus", "endFieldRightSide", "endFieldLeftSide", "endFieldOnBlur", "endFieldOnFocus", "onFocus", "onBlur", "leftSide", "rightSide", "endFieldInputRef", "startFieldInputRef", "style", "currentVisibleDate", "onChangeCurrentVisibleDate", "renderAdditionalControls"]);
13
14
  var startFieldRef = useRef(null);
14
15
  var endFieldRef = useRef(null);
15
16
  var startFieldInputRef = useRef(null);
@@ -31,17 +32,7 @@ export var DatePickerTypeDateRange = forwardRef(function (props, ref) {
31
32
  }
32
33
  };
33
34
  var _f = __read(useState(false), 2), calendarVisible = _f[0], setCalendarVisible = _f[1];
34
- var _g = __read(useState(), 2), currentVisibleDate = _g[0], setCurrentVisibleDate = _g[1];
35
- var commonProps = {
36
- value: props.value || undefined,
37
- view: dateTimeView,
38
- events: events,
39
- locale: locale,
40
- minDate: props.minDate,
41
- maxDate: props.maxDate,
42
- form: dropdownForm,
43
- onChange: hadleChange
44
- };
35
+ var _g = __read(useCurrentVisibleDate(currentVisibleDateProp, onChangeCurrentVisibleDateProp), 2), currentVisibleDate = _g[0], setCurrentVisibleDate = _g[1];
45
36
  var startFieldOnBlurHandler = function (e) {
46
37
  onBlur && onBlur(e);
47
38
  startFieldOnBlur && startFieldOnBlur(e);
@@ -118,6 +109,6 @@ export var DatePickerTypeDateRange = forwardRef(function (props, ref) {
118
109
  }
119
110
  });
120
111
  return (React.createElement(React.Fragment, null,
121
- React.createElement(DatePickerFieldTypeDateRange, __assign({}, fieldProps, { ref: ref, startFieldRef: startFieldRef, endFieldRef: endFieldRef, startFieldInputRef: useForkRef([startFieldInputRef, startFieldInputRefProp]), endFieldInputRef: useForkRef([endFieldInputRef, endFieldInputRefProp]), startFieldOnFocus: startFieldOnFocusHandler, endFieldOnFocus: endFieldOnFocusHandler, startFieldRightSide: startFieldRightSide, startFieldLeftSide: startFieldLeftSide || leftSide, endFieldRightSide: endFieldRightSide || rightSide, endFieldLeftSide: endFieldLeftSide, startFieldOnBlur: startFieldOnBlurHandler, endFieldOnBlur: endFieldOnBlurHandler, startFocused: startFocused, endFocused: endFocused })),
122
- React.createElement(DatePickerDropdown, __assign({}, commonProps, { ref: calendarRef, anchorRef: startFieldRef, isOpen: calendarVisible, onChangeCurrentVisibleDate: function (date) { return setCurrentVisibleDate(date); }, currentVisibleDate: currentVisibleDate }))));
112
+ React.createElement(DatePickerFieldTypeDateRange, __assign({}, fieldProps, { style: style, ref: ref, startFieldRef: startFieldRef, endFieldRef: endFieldRef, startFieldInputRef: useForkRef([startFieldInputRef, startFieldInputRefProp]), endFieldInputRef: useForkRef([endFieldInputRef, endFieldInputRefProp]), startFieldOnFocus: startFieldOnFocusHandler, endFieldOnFocus: endFieldOnFocusHandler, startFieldRightSide: startFieldRightSide, startFieldLeftSide: startFieldLeftSide || leftSide, endFieldRightSide: endFieldRightSide || rightSide, endFieldLeftSide: endFieldLeftSide, startFieldOnBlur: startFieldOnBlurHandler, endFieldOnBlur: endFieldOnBlurHandler, startFocused: startFocused, endFocused: endFocused })),
113
+ React.createElement(DatePickerDropdown, { type: "date", ref: calendarRef, anchorRef: startFieldRef, isOpen: calendarVisible, onChangeCurrentVisibleDate: setCurrentVisibleDate, currentVisibleDate: currentVisibleDate, value: props.value || undefined, view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, form: dropdownForm, onChange: hadleChange, renderAdditionalControls: renderAdditionalControls, zIndex: typeof (style === null || style === void 0 ? void 0 : style.zIndex) === 'number' ? style.zIndex + 1 : undefined })));
123
114
  });
@@ -0,0 +1,2 @@
1
+ import { DatePickerTypeComponent } from '../helpers';
2
+ export declare const DatePickerTypeDateTime: DatePickerTypeComponent<'date-time'>;
@@ -0,0 +1,57 @@
1
+ import { __assign, __read, __rest } from "tslib";
2
+ import React, { forwardRef, useEffect, useRef, useState } from 'react';
3
+ import addMonths from 'date-fns/addMonths';
4
+ import startOfMonth from 'date-fns/startOfMonth';
5
+ import { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';
6
+ import { useFlag } from '../../../hooks/useFlag/useFlag';
7
+ import { setRef } from '../../../utils/setRef';
8
+ import { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';
9
+ import { DatePickerFieldTypeDateTime } from '../DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime';
10
+ import { datePickerPropFormatTypeDateTime, getMultiplicityTime, } from '../helpers';
11
+ import { useCurrentVisibleDate } from '../useCurrentVisibleDate';
12
+ export var DatePickerTypeDateTime = forwardRef(function (props, ref) {
13
+ var events = props.events, dateTimeView = props.dateTimeView, locale = props.locale, dropdownForm = props.dropdownForm, onFocus = props.onFocus, currentVisibleDateProp = props.currentVisibleDate, onChangeCurrentVisibleDateProp = props.onChangeCurrentVisibleDate, multiplicityHoursProp = props.multiplicityHours, multiplicityMinutesProp = props.multiplicityMinutes, multiplicitySecondsProp = props.multiplicitySeconds, renderAdditionalControls = props.renderAdditionalControls, otherProps = __rest(props, ["events", "dateTimeView", "locale", "dropdownForm", "onFocus", "currentVisibleDate", "onChangeCurrentVisibleDate", "multiplicityHours", "multiplicityMinutes", "multiplicitySeconds", "renderAdditionalControls"]);
14
+ var _a = __read(getMultiplicityTime(otherProps.format || datePickerPropFormatTypeDateTime, multiplicityHoursProp, multiplicityMinutesProp, multiplicitySecondsProp), 3), multiplicityHours = _a[0], multiplicityMinutes = _a[1], multiplicitySeconds = _a[2];
15
+ var fieldRef = useRef(null);
16
+ var calendarRef = useRef(null);
17
+ var _b = __read(useFlag(false), 2), calendarVisible = _b[0], setCalendarVisible = _b[1];
18
+ var _c = __read(useCurrentVisibleDate(currentVisibleDateProp, onChangeCurrentVisibleDateProp), 2), currentVisibleDate = _c[0], setCurrentVisibleDate = _c[1];
19
+ var _d = __read(useState(), 2), calendarVisibleDate = _d[0], setCalendarVisibleDate = _d[1];
20
+ var onFocusHandler = function (e) {
21
+ onFocus && onFocus(e);
22
+ setCalendarVisible.on();
23
+ };
24
+ useEffect(function () {
25
+ if (ref) {
26
+ setRef(ref, fieldRef.current);
27
+ }
28
+ }, [ref, fieldRef]);
29
+ useEffect(function () {
30
+ if (props.value && props.dateTimeView === 'classic' && calendarVisibleDate) {
31
+ var newVisibleDate = startOfMonth(props.value);
32
+ if (newVisibleDate.getTime() !== calendarVisibleDate.getTime()) {
33
+ setCurrentVisibleDate(newVisibleDate);
34
+ }
35
+ return;
36
+ }
37
+ if (props.value && props.dateTimeView !== 'classic' && calendarVisibleDate) {
38
+ var newVisibleDate = startOfMonth(props.value);
39
+ if (newVisibleDate.getTime() !== calendarVisibleDate.getTime() &&
40
+ newVisibleDate.getTime() !== addMonths(calendarVisibleDate, 1).getTime()) {
41
+ setCurrentVisibleDate(newVisibleDate);
42
+ }
43
+ }
44
+ }, [props.value]);
45
+ var handleClose = function () {
46
+ setCalendarVisible.off();
47
+ setCurrentVisibleDate(undefined);
48
+ };
49
+ useClickOutside({
50
+ isActive: calendarVisible,
51
+ ignoreClicksInsideRefs: [fieldRef, calendarRef],
52
+ handler: handleClose
53
+ });
54
+ return (React.createElement(React.Fragment, null,
55
+ React.createElement(DatePickerFieldTypeDateTime, __assign({}, otherProps, { ref: fieldRef, onFocus: onFocusHandler, multiplicityHours: multiplicityHours, multiplicitySeconds: multiplicitySeconds, multiplicityMinutes: multiplicityMinutes })),
56
+ React.createElement(DatePickerDropdown, { ref: calendarRef, anchorRef: fieldRef, isOpen: calendarVisible, value: props.value || undefined, type: "date-time", view: dateTimeView, events: events, locale: locale, minDate: props.minDate, maxDate: props.maxDate, currentVisibleDate: currentVisibleDate, form: dropdownForm, onChange: props.onChange, renderAdditionalControls: renderAdditionalControls, onChangeCurrentVisibleDate: setCalendarVisibleDate, multiplicityHours: multiplicityHours, multiplicitySeconds: multiplicitySeconds, multiplicityMinutes: multiplicityMinutes })));
57
+ });
@@ -3,14 +3,14 @@ import { Locale } from 'date-fns';
3
3
  import { IconComponent, IconPropSize } from '../../icons/Icon/Icon';
4
4
  import { DateRange } from '../../utils/types/Date';
5
5
  import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
6
- import { DateTimePropView } from '../DateTimeCanary/helpers';
6
+ import { DateTimeAdditionalControlRenderProp, DateTimePropView } from '../DateTimeCanary/helpers';
7
7
  import { TextFieldPropForm, TextFieldPropSize, TextFieldPropStatus, TextFieldPropView, TextFieldPropWidth } from '../TextField/TextField';
8
- export declare const datePickerPropType: readonly ["date", "date-range"];
8
+ export declare const datePickerPropType: readonly ["date", "date-range", "date-time"];
9
9
  export declare type DatePickerPropType = typeof datePickerPropType[number];
10
10
  export declare const datePickerPropTypeDefault: "date";
11
11
  export declare type DatePickerPropDateTimeView = DateTimePropView;
12
12
  export declare const datePickerErrorTypes: readonly ["outOfRange", "invalidInputAttempt", "startDateIsGreaterThanEndDate"];
13
- export declare type DatePickerPropValue<TYPE extends DatePickerPropType> = (TYPE extends 'date' ? Date : DateRange) | null;
13
+ export declare type DatePickerPropValue<TYPE extends DatePickerPropType> = (TYPE extends 'date' | 'date-time' ? Date : DateRange) | null;
14
14
  export declare type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (props: {
15
15
  value: DatePickerPropValue<TYPE>;
16
16
  e: React.MouseEvent<HTMLButtonElement, MouseEvent> | Event;
@@ -18,8 +18,8 @@ export declare type DatePickerPropOnChange<TYPE extends DatePickerPropType> = (p
18
18
  export declare const datePickerPropDropdownForm: readonly ["default", "brick", "round"];
19
19
  export declare type DatePickerPropDropdownForm = typeof datePickerPropDropdownForm[number];
20
20
  export declare const datePickerPropDropdownFormDefault: "default";
21
- declare type DatePickerPropCalendarWidth<TYPE> = TYPE extends 'date' ? TextFieldPropWidth : never;
22
- declare type DatePickerPropCalendarInputRef<TYPE> = TYPE extends 'date' ? React.Ref<HTMLInputElement> : never;
21
+ declare type DatePickerPropCalendarWidth<TYPE> = TYPE extends 'date' | 'date-time' ? TextFieldPropWidth : never;
22
+ declare type DatePickerPropCalendarInputRef<TYPE> = TYPE extends 'date' | 'date-time' ? React.Ref<HTMLInputElement> : never;
23
23
  declare type DatePickerPropCalendarStartInputRef<TYPE> = TYPE extends 'date-range' ? React.Ref<HTMLInputElement> : never;
24
24
  declare type DatePickerPropCalendarStartLeftSide<TYPE> = TYPE extends 'date-range' ? string | IconComponent : never;
25
25
  declare type DatePickerPropCalendarStartOnFocus<TYPE> = TYPE extends 'date-range' ? React.FocusEventHandler<HTMLElement> : never;
@@ -29,6 +29,7 @@ export declare type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =
29
29
  onChange?: DatePickerPropOnChange<TYPE>;
30
30
  minDate?: Date;
31
31
  maxDate?: Date;
32
+ renderAdditionalControls?: DateTimeAdditionalControlRenderProp;
32
33
  events?: Date[];
33
34
  dateTimeView?: DatePickerPropDateTimeView;
34
35
  locale?: Locale;
@@ -70,16 +71,23 @@ export declare type DatePickerProps<TYPE extends DatePickerPropType = 'date'> =
70
71
  label?: string;
71
72
  caption?: string;
72
73
  labelPosition?: 'top' | 'left';
74
+ onChangeCurrentVisibleDate?: (date: Date) => void;
75
+ currentVisibleDate?: Date;
76
+ multiplicitySeconds?: number;
77
+ multiplicityMinutes?: number;
78
+ multiplicityHours?: number;
73
79
  }, HTMLDivElement>;
74
80
  export declare type DatePickerComponent = <TYPE extends DatePickerPropType = 'date'>(props: DatePickerProps<TYPE>) => React.ReactElement | null;
75
- export declare type DatePickerTypeDateComponent = (props: DatePickerProps<'date'>) => React.ReactElement | null;
76
- export declare type DatePickerTypeDateRangeComponent = (props: DatePickerProps<'date-range'>) => React.ReactElement | null;
81
+ export declare type DatePickerTypeComponent<TYPE extends DatePickerPropType> = (props: Omit<DatePickerProps<TYPE>, 'type'>) => React.ReactElement | null;
77
82
  export declare type DatePickerPropOnError = (props: {
78
83
  type: typeof datePickerErrorTypes[0];
79
84
  stringValue: string;
80
85
  dd?: string;
81
86
  MM?: string;
82
87
  yyyy?: string;
88
+ ss?: string;
89
+ mm?: string;
90
+ HH?: string;
83
91
  date: Date;
84
92
  } | {
85
93
  type: typeof datePickerErrorTypes[1];
@@ -87,132 +95,19 @@ export declare type DatePickerPropOnError = (props: {
87
95
  dd?: string;
88
96
  MM?: string;
89
97
  yyyy?: string;
98
+ ss?: string;
99
+ mm?: string;
100
+ HH?: string;
90
101
  } | {
91
102
  type: typeof datePickerErrorTypes[2];
92
103
  date: [Date, Date];
93
104
  }) => void;
94
- export declare const isDateRangeParams: (params: DatePickerProps<DatePickerPropType>) => params is PropsWithHTMLAttributesAndRef<{
95
- type?: "date-range" | undefined;
96
- value?: DateRange | null | undefined;
97
- onChange?: DatePickerPropOnChange<"date-range"> | undefined;
98
- minDate?: Date | undefined;
99
- maxDate?: Date | undefined;
100
- events?: Date[] | undefined;
101
- dateTimeView?: "slider" | "classic" | "book" | undefined;
102
- locale?: globalThis.Locale | undefined;
103
- children?: undefined;
104
- onError?: DatePickerPropOnError | undefined;
105
- id?: string | undefined;
106
- name?: string | undefined;
107
- disabled?: boolean | undefined;
108
- size?: "xs" | "s" | "m" | "l" | undefined;
109
- view?: "default" | "clear" | undefined;
110
- form?: "default" | "round" | "brick" | "brickRound" | "roundBrick" | "brickDefault" | "defaultBrick" | "clearRound" | "roundClear" | "clearDefault" | "defaultClear" | "brickClear" | "clearBrick" | "clearClear" | undefined;
111
- status?: "alert" | "success" | "warning" | undefined;
112
- onFocus?: ((event: import("react").FocusEvent<HTMLElement>) => void) | undefined;
113
- onBlur?: ((event: import("react").FocusEvent<HTMLElement>) => void) | undefined;
114
- autoFocus?: boolean | undefined;
115
- placeholder?: string | undefined;
116
- readOnly?: boolean | undefined;
117
- required?: boolean | undefined;
118
- tabIndex?: number | undefined;
119
- inputRef?: undefined;
120
- ariaLabel?: string | undefined;
121
- iconSize?: "xs" | "s" | "m" | undefined;
122
- format?: string | undefined;
123
- separator?: string | undefined;
124
- dropdownForm?: "default" | "round" | "brick" | undefined;
125
- width?: undefined;
126
- leftSide?: string | import("react").FC<PropsWithHTMLAttributesAndRef<{
127
- view?: "link" | "alert" | "brand" | "ghost" | "primary" | "secondary" | "success" | "warning" | "disabled" | undefined;
128
- size?: "xs" | "s" | "m" | undefined;
129
- }, HTMLSpanElement>> | undefined;
130
- rightSide?: string | import("react").FC<PropsWithHTMLAttributesAndRef<{
131
- view?: "link" | "alert" | "brand" | "ghost" | "primary" | "secondary" | "success" | "warning" | "disabled" | undefined;
132
- size?: "xs" | "s" | "m" | undefined;
133
- }, HTMLSpanElement>> | undefined;
134
- startFieldInputRef?: ((instance: HTMLInputElement | null) => void) | import("react").RefObject<HTMLInputElement> | null | undefined;
135
- endFieldInputRef?: ((instance: HTMLInputElement | null) => void) | import("react").RefObject<HTMLInputElement> | null | undefined;
136
- startFieldLeftSide?: string | import("react").FC<PropsWithHTMLAttributesAndRef<{
137
- view?: "link" | "alert" | "brand" | "ghost" | "primary" | "secondary" | "success" | "warning" | "disabled" | undefined;
138
- size?: "xs" | "s" | "m" | undefined;
139
- }, HTMLSpanElement>> | undefined;
140
- startFieldRightSide?: string | import("react").FC<PropsWithHTMLAttributesAndRef<{
141
- view?: "link" | "alert" | "brand" | "ghost" | "primary" | "secondary" | "success" | "warning" | "disabled" | undefined;
142
- size?: "xs" | "s" | "m" | undefined;
143
- }, HTMLSpanElement>> | undefined;
144
- endFieldLeftSide?: string | import("react").FC<PropsWithHTMLAttributesAndRef<{
145
- view?: "link" | "alert" | "brand" | "ghost" | "primary" | "secondary" | "success" | "warning" | "disabled" | undefined;
146
- size?: "xs" | "s" | "m" | undefined;
147
- }, HTMLSpanElement>> | undefined;
148
- endFieldRightSide?: string | import("react").FC<PropsWithHTMLAttributesAndRef<{
149
- view?: "link" | "alert" | "brand" | "ghost" | "primary" | "secondary" | "success" | "warning" | "disabled" | undefined;
150
- size?: "xs" | "s" | "m" | undefined;
151
- }, HTMLSpanElement>> | undefined;
152
- startFieldOnFocus?: ((event: import("react").FocusEvent<HTMLElement>) => void) | undefined;
153
- endFieldOnFocus?: ((event: import("react").FocusEvent<HTMLElement>) => void) | undefined;
154
- startFieldOnBlur?: ((event: import("react").FocusEvent<HTMLElement>) => void) | undefined;
155
- endFieldOnBlur?: ((event: import("react").FocusEvent<HTMLElement>) => void) | undefined;
156
- label?: string | undefined;
157
- caption?: string | undefined;
158
- labelPosition?: "left" | "top" | undefined;
159
- }, HTMLDivElement>;
160
- export declare const isNotDateRangeParams: (params: DatePickerProps<DatePickerPropType>) => params is PropsWithHTMLAttributesAndRef<{
161
- type?: "date" | undefined;
162
- value?: Date | null | undefined;
163
- onChange?: DatePickerPropOnChange<"date"> | undefined;
164
- minDate?: Date | undefined;
165
- maxDate?: Date | undefined;
166
- events?: Date[] | undefined;
167
- dateTimeView?: "slider" | "classic" | "book" | undefined;
168
- locale?: globalThis.Locale | undefined;
169
- children?: undefined;
170
- onError?: DatePickerPropOnError | undefined;
171
- id?: string | undefined;
172
- name?: string | undefined;
173
- disabled?: boolean | undefined;
174
- size?: "xs" | "s" | "m" | "l" | undefined;
175
- view?: "default" | "clear" | undefined;
176
- form?: "default" | "round" | "brick" | "brickRound" | "roundBrick" | "brickDefault" | "defaultBrick" | "clearRound" | "roundClear" | "clearDefault" | "defaultClear" | "brickClear" | "clearBrick" | "clearClear" | undefined;
177
- status?: "alert" | "success" | "warning" | undefined;
178
- onFocus?: ((event: import("react").FocusEvent<HTMLElement>) => void) | undefined;
179
- onBlur?: ((event: import("react").FocusEvent<HTMLElement>) => void) | undefined;
180
- autoFocus?: boolean | undefined;
181
- placeholder?: string | undefined;
182
- readOnly?: boolean | undefined;
183
- required?: boolean | undefined;
184
- tabIndex?: number | undefined;
185
- inputRef?: ((instance: HTMLInputElement | null) => void) | import("react").RefObject<HTMLInputElement> | null | undefined;
186
- ariaLabel?: string | undefined;
187
- iconSize?: "xs" | "s" | "m" | undefined;
188
- format?: string | undefined;
189
- separator?: string | undefined;
190
- dropdownForm?: "default" | "round" | "brick" | undefined;
191
- width?: "default" | "full" | undefined;
192
- leftSide?: string | import("react").FC<PropsWithHTMLAttributesAndRef<{
193
- view?: "link" | "alert" | "brand" | "ghost" | "primary" | "secondary" | "success" | "warning" | "disabled" | undefined;
194
- size?: "xs" | "s" | "m" | undefined;
195
- }, HTMLSpanElement>> | undefined;
196
- rightSide?: string | import("react").FC<PropsWithHTMLAttributesAndRef<{
197
- view?: "link" | "alert" | "brand" | "ghost" | "primary" | "secondary" | "success" | "warning" | "disabled" | undefined;
198
- size?: "xs" | "s" | "m" | undefined;
199
- }, HTMLSpanElement>> | undefined;
200
- startFieldInputRef?: undefined;
201
- endFieldInputRef?: undefined;
202
- startFieldLeftSide?: undefined;
203
- startFieldRightSide?: undefined;
204
- endFieldLeftSide?: undefined;
205
- endFieldRightSide?: undefined;
206
- startFieldOnFocus?: undefined;
207
- endFieldOnFocus?: undefined;
208
- startFieldOnBlur?: undefined;
209
- endFieldOnBlur?: undefined;
210
- label?: string | undefined;
211
- caption?: string | undefined;
212
- labelPosition?: "left" | "top" | undefined;
213
- }, HTMLDivElement>;
214
105
  export declare const datePickerPropSeparatorDefault = ".";
215
- export declare const datePickerPropFormatDefault: string;
216
- export declare const datePickerPropPlaceholderDefault: string;
106
+ export declare const datePickerPropFormatTypeDate: string;
107
+ export declare const datePickerPropPlaceholderTypeDate: string;
108
+ export declare const datePickerPropFormatTypeDateTime: string;
109
+ export declare const datePickerPropPlaceholderTypeDateTime: string;
217
110
  export declare const normalizeRangeValue: (dateRange: DateRange) => DateRange;
111
+ export declare const getMultiplicityTime: (format: string, multiplicityHours: number | undefined, multiplicityMinutes: number | undefined, multiplicitySeconds: number | undefined) => (number | undefined)[];
112
+ export declare const getTimeEnum: (length: number, multiplicity: number | undefined, startOfUnits: (date: Date) => Date, addUnits: (date: Date, amount: number) => Date, getItemLabel: (date: Date) => string) => string[];
218
113
  export {};