@sberbusiness/triplex-next 0.39.0 → 0.41.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 (622) hide show
  1. package/chunks/{AlertProcessSpoiler-DRoHuVl6.js → AlertProcessSpoiler-BtnKN4rB.js} +17 -17
  2. package/chunks/{AlertProcessSpoiler-DRoHuVl6.js.map → AlertProcessSpoiler-BtnKN4rB.js.map} +1 -1
  3. package/chunks/{CalendarViewItem-AChLlz4N.js → CalendarViewItem-RCL-JeQJ.js} +31 -29
  4. package/chunks/CalendarViewItem-RCL-JeQJ.js.map +1 -0
  5. package/chunks/Card.module-CoOqpkwS.js +32 -0
  6. package/chunks/Card.module-CoOqpkwS.js.map +1 -0
  7. package/chunks/Carousel.module-DvV8MD7r.js +30 -0
  8. package/chunks/Carousel.module-DvV8MD7r.js.map +1 -0
  9. package/chunks/CheckboxTreeExtended.module-Clecba-z.js +24 -0
  10. package/chunks/CheckboxTreeExtended.module-Clecba-z.js.map +1 -0
  11. package/chunks/{Chip-DGvjOx0y.js → Chip-Cp08qRYJ.js} +28 -28
  12. package/chunks/Chip-Cp08qRYJ.js.map +1 -0
  13. package/chunks/Confirm.module-DM72PYpZ.js +24 -0
  14. package/chunks/Confirm.module-DM72PYpZ.js.map +1 -0
  15. package/chunks/{DropdownListItem-COR0eOzM.js → DropdownListItem-BVmaxhUL.js} +21 -23
  16. package/chunks/DropdownListItem-BVmaxhUL.js.map +1 -0
  17. package/chunks/DropdownMobile.module-CZWR3s0W.js +40 -0
  18. package/chunks/DropdownMobile.module-CZWR3s0W.js.map +1 -0
  19. package/chunks/Footer.module-BVlnkdmW.js +12 -0
  20. package/chunks/Footer.module-BVlnkdmW.js.map +1 -0
  21. package/chunks/{HeaderLayoutSidebar.module-o5cCUCGl.js → HeaderLayoutSidebar.module-BucgINex.js} +4 -4
  22. package/chunks/HeaderLayoutSidebar.module-BucgINex.js.map +1 -0
  23. package/chunks/HeaderTabs.module-C_a4JHKH.js +12 -0
  24. package/chunks/HeaderTabs.module-C_a4JHKH.js.map +1 -0
  25. package/chunks/{HeaderTitle.module-CUVjwVW7.js → HeaderTitle.module-CcCkeiqR.js} +4 -4
  26. package/chunks/HeaderTitle.module-CcCkeiqR.js.map +1 -0
  27. package/chunks/ImageGalleryExtendedMain.module-rFvyNDtg.js +28 -0
  28. package/chunks/ImageGalleryExtendedMain.module-rFvyNDtg.js.map +1 -0
  29. package/chunks/{ImageGalleryExtendedThumb-B7xjP3UP.js → ImageGalleryExtendedThumb-DHoiTDGV.js} +6 -6
  30. package/chunks/{ImageGalleryExtendedThumb-B7xjP3UP.js.map → ImageGalleryExtendedThumb-DHoiTDGV.js.map} +1 -1
  31. package/chunks/IslandAccordion.module-Bpxl1nou.js +44 -0
  32. package/chunks/IslandAccordion.module-Bpxl1nou.js.map +1 -0
  33. package/chunks/IslandWidgetFooter.module-Gq4r6MKf.js +12 -0
  34. package/chunks/IslandWidgetFooter.module-Gq4r6MKf.js.map +1 -0
  35. package/chunks/IslandWidgetHeader.module-60ngN9Fp.js +20 -0
  36. package/chunks/IslandWidgetHeader.module-60ngN9Fp.js.map +1 -0
  37. package/chunks/{LightBoxContent-blTzF5vv.js → LightBoxContent-faIO64ku.js} +15 -15
  38. package/chunks/{LightBoxContent-blTzF5vv.js.map → LightBoxContent-faIO64ku.js.map} +1 -1
  39. package/chunks/LightBoxControls.module-zALKUa-L.js +26 -0
  40. package/chunks/LightBoxControls.module-zALKUa-L.js.map +1 -0
  41. package/chunks/{LightBoxSideOverlayClose.module-BVuB53vM.js → LightBoxSideOverlayClose.module-BJOafmhE.js} +4 -4
  42. package/chunks/LightBoxSideOverlayClose.module-BJOafmhE.js.map +1 -0
  43. package/chunks/{ListItemControlsButton-DulKpjwV.js → ListItemControlsButton-Cgn5z-4-.js} +10 -10
  44. package/chunks/{ListItemControlsButton-DulKpjwV.js.map → ListItemControlsButton-Cgn5z-4-.js.map} +1 -1
  45. package/chunks/ListItemTail.module-SH-k_8bE.js +18 -0
  46. package/chunks/ListItemTail.module-SH-k_8bE.js.map +1 -0
  47. package/chunks/ListMasterFooter.module-B7KHgt78.js +14 -0
  48. package/chunks/ListMasterFooter.module-B7KHgt78.js.map +1 -0
  49. package/chunks/ModalWindow.module-g4fzzLBJ.js +28 -0
  50. package/chunks/ModalWindow.module-g4fzzLBJ.js.map +1 -0
  51. package/chunks/Notification.module-GuNThi0F.js +34 -0
  52. package/chunks/Notification.module-GuNThi0F.js.map +1 -0
  53. package/chunks/Overlay.module-Bz905CUE.js +30 -0
  54. package/chunks/Overlay.module-Bz905CUE.js.map +1 -0
  55. package/chunks/Page.module-Cew9zu6t.js +15 -0
  56. package/chunks/Page.module-Cew9zu6t.js.map +1 -0
  57. package/chunks/SMSField.module-DF_16zDO.js +26 -0
  58. package/chunks/SMSField.module-DF_16zDO.js.map +1 -0
  59. package/chunks/SliderExtendedMarks.module-DuovwuEN.js +24 -0
  60. package/chunks/SliderExtendedMarks.module-DuovwuEN.js.map +1 -0
  61. package/chunks/{SliderExtendedRail-kRXLpNwt.js → SliderExtendedRail-52OucNYf.js} +6 -6
  62. package/chunks/{SliderExtendedRail-kRXLpNwt.js.map → SliderExtendedRail-52OucNYf.js.map} +1 -1
  63. package/chunks/StatusTracker.module-BeFh9DCu.js +44 -0
  64. package/chunks/StatusTracker.module-BeFh9DCu.js.map +1 -0
  65. package/chunks/{StepperStepArrowBorder-CsES9yvO.js → StepperStepArrowBorder-0d-ly-A8.js} +16 -16
  66. package/chunks/{StepperStepArrowBorder-CsES9yvO.js.map → StepperStepArrowBorder-0d-ly-A8.js.map} +1 -1
  67. package/chunks/{SuggestFieldMobileDropdownHint-YOB5F8TH.js → SuggestFieldMobileDropdownHint-CPo1oKCp.js} +3 -3
  68. package/chunks/{SuggestFieldMobileDropdownHint-YOB5F8TH.js.map → SuggestFieldMobileDropdownHint-CPo1oKCp.js.map} +1 -1
  69. package/chunks/TableFooter.module-CceBkCov.js +22 -0
  70. package/chunks/TableFooter.module-CceBkCov.js.map +1 -0
  71. package/chunks/TabsExtended.module-BV1A2Ngf.js +26 -0
  72. package/chunks/TabsExtended.module-BV1A2Ngf.js.map +1 -0
  73. package/chunks/TabsLine.module-CpjGY1fI.js +36 -0
  74. package/chunks/TabsLine.module-CpjGY1fI.js.map +1 -0
  75. package/chunks/TooltipDesktop.module-D22gy-42.js +32 -0
  76. package/chunks/TooltipDesktop.module-D22gy-42.js.map +1 -0
  77. package/chunks/TreeView.module-uRhEW69Z.js +12 -0
  78. package/chunks/TreeView.module-uRhEW69Z.js.map +1 -0
  79. package/chunks/{UploadZoneInput-Dc9Z6NrZ.js → UploadZoneInput-CkHsnEn0.js} +6 -6
  80. package/chunks/{UploadZoneInput-Dc9Z6NrZ.js.map → UploadZoneInput-CkHsnEn0.js.map} +1 -1
  81. package/chunks/{constants-b3mFJcdx.js → constants-CroH6kNa.js} +27 -27
  82. package/chunks/{constants-b3mFJcdx.js.map → constants-CroH6kNa.js.map} +1 -1
  83. package/chunks/{utils-BXgC_I8P.js → utils-B4HVj8oI.js} +8 -8
  84. package/chunks/utils-B4HVj8oI.js.map +1 -0
  85. package/chunks/{utils-DdrwqT9t.js → utils-CVWtdPuN.js} +6 -6
  86. package/chunks/{utils-DdrwqT9t.js.map → utils-CVWtdPuN.js.map} +1 -1
  87. package/chunks/{utils-Bv8Gz_QY.js → utils-DI2WUTKf.js} +27 -27
  88. package/chunks/{utils-Bv8Gz_QY.js.map → utils-DI2WUTKf.js.map} +1 -1
  89. package/chunks/{utils-B1pi9Ckc.js → utils-f5ZO_GR2.js} +11 -11
  90. package/chunks/{utils-B1pi9Ckc.js.map → utils-f5ZO_GR2.js.map} +1 -1
  91. package/chunks/vendor-BtZO8a0z.js +17814 -0
  92. package/chunks/vendor-BtZO8a0z.js.map +1 -0
  93. package/components/AbstractTree/AbstractTreeNode.js +1 -1
  94. package/components/AccordionBase/protected/AccordionBase.js +1 -1
  95. package/components/Alert/AlertContext/AlertContext.js +8 -8
  96. package/components/Alert/AlertProcess/AlertProcess.js +3 -3
  97. package/components/Alert/AlertProcess/components/AlertProcessSpoiler.js +2 -2
  98. package/components/Amount/Amount.js +3 -3
  99. package/components/Avatar/Avatar.js +14 -14
  100. package/components/Badge/Badge.js +5 -5
  101. package/components/Badge/BadgeDot.js +5 -5
  102. package/components/Badge/components/BadgeContent.js +7 -7
  103. package/components/Badge/components/BadgePostfix.js +2 -2
  104. package/components/Badge/components/BadgePrefix.js +2 -2
  105. package/components/Body/Body.js +4 -4
  106. package/components/Button/Button.js +21 -21
  107. package/components/Button/ButtonBase.js +1 -1
  108. package/components/Button/ButtonDropdown.js +9 -9
  109. package/components/Button/ButtonDropdownExtended.js +18 -22
  110. package/components/Button/ButtonDropdownExtended.js.map +1 -1
  111. package/components/Button/ButtonIcon.js +4 -4
  112. package/components/Button/ButtonIcon.js.map +1 -1
  113. package/components/Calendar/Calendar.js +17 -17
  114. package/components/Calendar/Calendar.js.map +1 -1
  115. package/components/Calendar/CalendarContext.js.map +1 -1
  116. package/components/Calendar/CalendarViewContext.js.map +1 -1
  117. package/components/Calendar/components/CalendarControls.js +12 -32
  118. package/components/Calendar/components/CalendarControls.js.map +1 -1
  119. package/components/Calendar/components/CalendarFooter.js +3 -2
  120. package/components/Calendar/components/CalendarFooter.js.map +1 -1
  121. package/components/Calendar/components/CalendarView.js +1 -0
  122. package/components/Calendar/components/CalendarView.js.map +1 -1
  123. package/components/Calendar/components/CalendarViewDays.js +32 -56
  124. package/components/Calendar/components/CalendarViewDays.js.map +1 -1
  125. package/components/Calendar/components/CalendarViewItem.js +2 -2
  126. package/components/Calendar/components/CalendarViewMonths.js +30 -52
  127. package/components/Calendar/components/CalendarViewMonths.js.map +1 -1
  128. package/components/Calendar/components/CalendarViewYears.js +34 -55
  129. package/components/Calendar/components/CalendarViewYears.js.map +1 -1
  130. package/components/Calendar/utils.js +43 -10
  131. package/components/Calendar/utils.js.map +1 -1
  132. package/components/Card/CardAction.js +6 -6
  133. package/components/Card/CardStatic.js +3 -3
  134. package/components/Card/components/CardContent/CardContent.js +2 -2
  135. package/components/Card/components/CardContent/components/CardContentBody.js +2 -2
  136. package/components/Card/components/CardContent/components/CardContentFooter.js +2 -2
  137. package/components/Card/components/CardContent/components/CardContentHeader.js +2 -2
  138. package/components/Card/components/CardMedia.js +2 -2
  139. package/components/Card/enums.js +1 -0
  140. package/components/Card/enums.js.map +1 -1
  141. package/components/Card/utils.js +2 -1
  142. package/components/Card/utils.js.map +1 -1
  143. package/components/Carousel/Carousel.js +2 -2
  144. package/components/Carousel/CarouselButton.js +2 -2
  145. package/components/Carousel/CarouselIndicators.js +2 -2
  146. package/components/Carousel/CarouselItem.js +2 -2
  147. package/components/Carousel/CarouselTrack.js +2 -2
  148. package/components/Carousel/CarouselViewport.js +2 -2
  149. package/components/CarouselExtended/CarouselExtended.js +2 -2
  150. package/components/Checkbox/Checkbox.js +11 -11
  151. package/components/Checkbox/CheckboxXGroup.js +9 -9
  152. package/components/Checkbox/CheckboxYGroup.js +2 -2
  153. package/components/CheckboxTreeExtended/CheckboxTreeExtended.js +2 -2
  154. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedArrow.js +1 -1
  155. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedCheckbox.js +2 -2
  156. package/components/CheckboxTreeExtended/components/CheckboxTreeExtendedNode.js +2 -2
  157. package/components/Chip/Chip.js +2 -2
  158. package/components/Chip/ChipClearButton.js +2 -2
  159. package/components/Chip/ChipDatePicker/ChipDatePicker.js +1 -1
  160. package/components/Chip/ChipDatePicker/ChipDatePickerTarget.js +1 -1
  161. package/components/Chip/ChipDropdownArrow.js +3 -3
  162. package/components/Chip/ChipIcon.js +1 -1
  163. package/components/Chip/ChipMultiselect.js +2 -2
  164. package/components/Chip/ChipOptions.js +2 -2
  165. package/components/Chip/ChipSelect/ChipSelect.js +2 -2
  166. package/components/Chip/ChipSelect/ChipSelectTarget.js +1 -1
  167. package/components/Chip/ChipSort.js +2 -2
  168. package/components/Chip/ChipSuggest/ChipSuggest.js +2 -2
  169. package/components/Chip/ChipSuggest/ChipSuggestDropdown.js +2 -2
  170. package/components/Chip/ChipSuggest/ChipSuggestTarget.js +1 -1
  171. package/components/Chip/ChipSuggest/desktop/ChipSuggestDesktopDropdownField.js +1 -1
  172. package/components/Chip/index.js +1 -1
  173. package/components/ChipGroup/ChipGroup.js +8 -8
  174. package/components/Col/Col.js +133 -133
  175. package/components/CollapsibleTree/CollapsibleTree.js +2 -2
  176. package/components/CollapsibleTree/components/CollapsibleTreeLeafContent.js +2 -2
  177. package/components/CollapsibleTree/components/CollapsibleTreeLeafNode.js +2 -2
  178. package/components/CollapsibleTree/components/CollapsibleTreeNodeHeader.js +5 -5
  179. package/components/CollapsibleTreeExtended/components/CollapsibleTreeExtendedNode.js +2 -2
  180. package/components/Confirm/Confirm.js +2 -2
  181. package/components/Confirm/components/ConfirmCloseButton.js +2 -2
  182. package/components/Confirm/components/ConfirmContent.js +2 -2
  183. package/components/Confirm/components/ConfirmContentTitle.js +2 -2
  184. package/components/Confirm/components/ConfirmControls.js +2 -2
  185. package/components/DateField/utils.js +2 -2
  186. package/components/DateField/utils.js.map +1 -1
  187. package/components/DatePickerExtended/DatePickerExtended.js +2 -2
  188. package/components/DatePickerExtended/DatePickerExtendedDropdown.js +2 -2
  189. package/components/DateRange/DateRange.js +4 -4
  190. package/components/DesignTokens/DesignTokenUtils.js +26 -21
  191. package/components/DesignTokens/DesignTokenUtils.js.map +1 -1
  192. package/components/DesignTokens/components/Calendar.js +2 -2
  193. package/components/DesignTokens/components/Calendar.js.map +1 -1
  194. package/components/DesignTokens/components/StatusTracker.js +8 -2
  195. package/components/DesignTokens/components/StatusTracker.js.map +1 -1
  196. package/components/Divider/Divider.js +18 -18
  197. package/components/DocumentNumberEdit/DocumentNumberEdit.js +4 -4
  198. package/components/Dropdown/Dropdown.js +14 -7
  199. package/components/Dropdown/Dropdown.js.map +1 -1
  200. package/components/Dropdown/desktop/DropdownDesktop.js +21 -25
  201. package/components/Dropdown/desktop/DropdownDesktop.js.map +1 -1
  202. package/components/Dropdown/desktop/DropdownList.js +38 -73
  203. package/components/Dropdown/desktop/DropdownList.js.map +1 -1
  204. package/components/Dropdown/desktop/DropdownListItem.js +2 -2
  205. package/components/Dropdown/desktop/index.js +1 -1
  206. package/components/Dropdown/desktop/utils.js +34 -0
  207. package/components/Dropdown/desktop/utils.js.map +1 -0
  208. package/components/Dropdown/index.js +1 -1
  209. package/components/Dropdown/mobile/DropdownMobile.js +2 -2
  210. package/components/Dropdown/mobile/DropdownMobileBody.js +2 -2
  211. package/components/Dropdown/mobile/DropdownMobileClose.js +2 -2
  212. package/components/Dropdown/mobile/DropdownMobileFooter.js +2 -2
  213. package/components/Dropdown/mobile/DropdownMobileHeader.js +2 -2
  214. package/components/Dropdown/mobile/DropdownMobileInner.js +6 -4
  215. package/components/Dropdown/mobile/DropdownMobileInner.js.map +1 -1
  216. package/components/Dropdown/mobile/DropdownMobileInput.js +2 -2
  217. package/components/Dropdown/mobile/DropdownMobileList.js +3 -3
  218. package/components/Dropdown/mobile/DropdownMobileList.js.map +1 -1
  219. package/components/Dropdown/mobile/DropdownMobileListItem.js +2 -2
  220. package/components/Dropdown/mobile/DropdownMobileListItem.js.map +1 -1
  221. package/components/Dropdown/mobile/DropdownMobileLoader.js +2 -2
  222. package/components/Dropdown/mobile/DropdownMobileMaskedInput.js +2 -2
  223. package/components/Ellipsis/Ellipsis.js +4 -4
  224. package/components/EmptyView/EmptyView.js +5 -5
  225. package/components/ExpandAnimation/ExpandAnimation.js +2 -2
  226. package/components/FocusTrapExtended/FocusTrapExtended.js +21 -9
  227. package/components/FocusTrapExtended/FocusTrapExtended.js.map +1 -1
  228. package/components/Footer/Footer.js +1 -1
  229. package/components/Footer/components/FooterDescription.js +2 -2
  230. package/components/Footer/components/FooterDescriptionContent.js +2 -2
  231. package/components/Footer/components/FooterDescriptionControls.js +2 -2
  232. package/components/FormField/FormField.js +21 -21
  233. package/components/FormField/FormField.js.map +1 -1
  234. package/components/FormField/FormFieldContext.js.map +1 -1
  235. package/components/FormField/FormFieldDescriptionContext.js.map +1 -1
  236. package/components/FormField/components/FormFieldClear.js +2 -2
  237. package/components/FormField/components/FormFieldClear.js.map +1 -1
  238. package/components/FormField/components/FormFieldCounter.js +5 -4
  239. package/components/FormField/components/FormFieldCounter.js.map +1 -1
  240. package/components/FormField/components/FormFieldDescription.js +14 -6
  241. package/components/FormField/components/FormFieldDescription.js.map +1 -1
  242. package/components/FormField/components/FormFieldInput.js +8 -9
  243. package/components/FormField/components/FormFieldInput.js.map +1 -1
  244. package/components/FormField/components/FormFieldLabel.js +11 -12
  245. package/components/FormField/components/FormFieldLabel.js.map +1 -1
  246. package/components/FormField/components/FormFieldMaskedInput.js +7 -7
  247. package/components/FormField/components/FormFieldPostfix.js +6 -30
  248. package/components/FormField/components/FormFieldPostfix.js.map +1 -1
  249. package/components/FormField/components/FormFieldPrefix.js +6 -30
  250. package/components/FormField/components/FormFieldPrefix.js.map +1 -1
  251. package/components/FormField/components/FormFieldTarget.js +9 -9
  252. package/components/FormField/components/FormFieldTextarea.js +5 -5
  253. package/components/FormField/components/useFormFieldAffixWidth.js +33 -0
  254. package/components/FormField/components/useFormFieldAffixWidth.js.map +1 -0
  255. package/components/FormField/components/utils.js +9 -1
  256. package/components/FormField/components/utils.js.map +1 -1
  257. package/components/FormField/consts.js.map +1 -1
  258. package/components/FormField/enums.js.map +1 -1
  259. package/components/FormField/index.js +2 -3
  260. package/components/Gap/Gap.js +9 -9
  261. package/components/Header/Header.js +1 -1
  262. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebar.js +2 -2
  263. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarContent.js +2 -2
  264. package/components/Header/components/HeaderLayoutSidebar/HeaderLayoutSidebarSidebar.js +2 -2
  265. package/components/Header/components/HeaderSubheader/HeaderSubheader.js +3 -3
  266. package/components/Header/components/HeaderTabs/HeaderTabs.js +2 -2
  267. package/components/Header/components/HeaderTabs/HeaderTabsContent.js +2 -2
  268. package/components/Header/components/HeaderTabs/HeaderTabsControls.js +2 -2
  269. package/components/Header/components/HeaderTitle/HeaderTitle.js +2 -2
  270. package/components/Header/components/HeaderTitle/HeaderTitleContent.js +2 -2
  271. package/components/Header/components/HeaderTitle/HeaderTitleControls.js +2 -2
  272. package/components/HelpBox/HelpBox.js +2 -2
  273. package/components/IconWrapper/IconWrapper.js +8 -8
  274. package/components/IconWrapper/IconWrapper.js.map +1 -1
  275. package/components/ImageGallery/ImageGallery.js +1 -1
  276. package/components/ImageGalleryExtended/ImageGalleryExtended.js +3 -3
  277. package/components/ImageGalleryExtended/components/ImageGalleryExtendedArrow.js +2 -2
  278. package/components/ImageGalleryExtended/components/ImageGalleryExtendedDots.js +4 -4
  279. package/components/ImageGalleryExtended/components/ImageGalleryExtendedMain.js +2 -2
  280. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSlide.js +2 -2
  281. package/components/ImageGalleryExtended/components/ImageGalleryExtendedSwipeTrack.js +2 -2
  282. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumb.js +2 -2
  283. package/components/ImageGalleryExtended/components/ImageGalleryExtendedThumbnails.js +2 -2
  284. package/components/ImageGalleryExtended/components/index.js +1 -1
  285. package/components/ImageGalleryExtended/index.js +1 -1
  286. package/components/Island/Island.js +4 -4
  287. package/components/Island/Island.js.map +1 -1
  288. package/components/Island/components/IslandBody.js +3 -2
  289. package/components/Island/components/IslandBody.js.map +1 -1
  290. package/components/Island/components/IslandFooter.js +8 -5
  291. package/components/Island/components/IslandFooter.js.map +1 -1
  292. package/components/Island/components/IslandHeader.js +8 -5
  293. package/components/Island/components/IslandHeader.js.map +1 -1
  294. package/components/Island/enums.js.map +1 -1
  295. package/components/Island/utils.js +1 -1
  296. package/components/IslandAccordion/IslandAccordion.js +3 -3
  297. package/components/IslandAccordion/components/IslandAccordionContent.js +1 -1
  298. package/components/IslandAccordion/components/IslandAccordionFooter.js +2 -2
  299. package/components/IslandAccordion/components/IslandAccordionItem.js +3 -3
  300. package/components/IslandWidget/IslandWidget.js +5 -5
  301. package/components/IslandWidget/components/IslandWidgetBody.js +2 -2
  302. package/components/IslandWidget/components/IslandWidgetExtraFooter.js +2 -2
  303. package/components/IslandWidget/components/IslandWidgetFooter.js +2 -2
  304. package/components/IslandWidget/components/IslandWidgetFooterContent.js +1 -1
  305. package/components/IslandWidget/components/IslandWidgetFooterControls.js +1 -1
  306. package/components/IslandWidget/components/IslandWidgetHeader.js +2 -2
  307. package/components/IslandWidget/components/IslandWidgetHeaderContent.js +2 -2
  308. package/components/IslandWidget/components/IslandWidgetHeaderControls.js +2 -2
  309. package/components/IslandWidget/components/IslandWidgetHeaderDescription.js +2 -2
  310. package/components/IslandWidget/components/IslandWidgetHeaderTitle.js +2 -2
  311. package/components/IslandWidget/components/IslandWidgetWrapper.js +2 -2
  312. package/components/KeyDownListener/ComposedKeyDownListener.js +7 -8
  313. package/components/KeyDownListener/ComposedKeyDownListener.js.map +1 -1
  314. package/components/KeyDownListener/KeyDownListener.js +3 -4
  315. package/components/KeyDownListener/KeyDownListener.js.map +1 -1
  316. package/components/LightBox/LightBox.js +6 -6
  317. package/components/LightBox/LightBoxContent.js +2 -2
  318. package/components/LightBox/LightBoxControls/LightBoxArrow.js +2 -2
  319. package/components/LightBox/LightBoxControls/LightBoxClose.js +2 -2
  320. package/components/LightBox/LightBoxControls/LightBoxControls.js +2 -2
  321. package/components/LightBox/LightBoxControls/LightBoxNext.js +2 -2
  322. package/components/LightBox/LightBoxControls/LightBoxPrev.js +2 -2
  323. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js +13 -14
  324. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlay.js.map +1 -1
  325. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseDesktop.js +2 -2
  326. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayCloseMobile.js +2 -2
  327. package/components/LightBox/LightBoxSideOverlay/LightBoxSideOverlayLoader.js +1 -1
  328. package/components/LightBox/LightBoxSidebars/LightBoxLeftSidebar.js +4 -4
  329. package/components/LightBox/LightBoxSidebars/LightBoxRightSidebar.js +4 -4
  330. package/components/LightBox/LightBoxViewManager/LightBoxViewManager.js +1 -1
  331. package/components/Link/Link.js +6 -6
  332. package/components/List/List.js +4 -4
  333. package/components/List/ListSortable.js +1 -1
  334. package/components/List/components/ListActionItem.js +2 -2
  335. package/components/List/components/ListEmptyState.js +2 -2
  336. package/components/List/components/ListItem.js +1 -1
  337. package/components/List/components/ListItemContent.js +5 -5
  338. package/components/List/components/ListItemControls.js +2 -2
  339. package/components/List/components/ListItemControlsButton.js +2 -2
  340. package/components/List/components/ListItemControlsButtonDropdown.js +2 -2
  341. package/components/List/components/ListItemLoading.js +2 -2
  342. package/components/List/components/ListItemSelectable.js +7 -7
  343. package/components/List/components/ListItemTailLeft.js +2 -2
  344. package/components/List/components/ListItemTailRight.js +2 -2
  345. package/components/List/components/ListSortableItem.js +3 -3
  346. package/components/List/components/ListSortableItemControls.js +2 -2
  347. package/components/List/components/ListSortableItemTarget.js +5 -5
  348. package/components/List/components/ListTableItem.js +4 -4
  349. package/components/List/index.js +1 -1
  350. package/components/ListMaster/ListMaster.js +1 -1
  351. package/components/ListMaster/components/ListMasterBody.js +1 -1
  352. package/components/ListMaster/components/ListMasterChipGroup.js +2 -2
  353. package/components/ListMaster/components/ListMasterFooter.js +2 -2
  354. package/components/ListMaster/components/ListMasterFooterControls.js +2 -2
  355. package/components/ListMaster/components/ListMasterFooterDescription.js +2 -2
  356. package/components/ListMaster/components/ListMasterHeader.js +3 -3
  357. package/components/ListMaster/components/SelectionControls.js +3 -3
  358. package/components/Loader/LoaderMiddle/LoaderMiddle.js +11 -11
  359. package/components/Loader/LoaderMiddle/LoaderMiddle.js.map +1 -1
  360. package/components/Loader/LoaderSmall/LoaderSmall.js +11 -11
  361. package/components/LoaderScreen/LoaderScreen.js +13 -12
  362. package/components/LoaderScreen/LoaderScreen.js.map +1 -1
  363. package/components/Marker/Marker.js +2 -2
  364. package/components/Marker/utils.js +1 -1
  365. package/components/MarkerStatus/MarkerStatus.js +8 -8
  366. package/components/ModalWindow/ModalWindow.js +2 -2
  367. package/components/ModalWindow/components/ModalWindowBody.js +2 -2
  368. package/components/ModalWindow/components/ModalWindowClose.js +1 -1
  369. package/components/ModalWindow/components/ModalWindowContent.js +2 -2
  370. package/components/ModalWindow/components/ModalWindowHeader.js +2 -2
  371. package/components/ModalWindow/components/ModalWindowViewManager.js +2 -2
  372. package/components/MonthYearField/utils.js +2 -1
  373. package/components/MonthYearField/utils.js.map +1 -1
  374. package/components/MonthYearRange/MonthYearRange.js +4 -4
  375. package/components/MultiselectField/components/MultiselectFieldDropdown.js +2 -2
  376. package/components/MultiselectField/components/MultiselectFieldDropdownContent.js +6 -6
  377. package/components/MultiselectField/components/MultiselectFieldDropdownFooter.js +2 -2
  378. package/components/MultiselectField/components/MultiselectFieldDropdownHeader.js +2 -2
  379. package/components/Notification/Notification.js +3 -3
  380. package/components/Notification/NotificationGrouped.js +1 -1
  381. package/components/Notification/components/NotificationBody.js +1 -1
  382. package/components/Notification/components/NotificationBodyList.js +2 -2
  383. package/components/Notification/components/NotificationClose.js +1 -1
  384. package/components/Notification/components/NotificationFooter.js +1 -1
  385. package/components/Notification/components/NotificationGroupedFooter.js +2 -2
  386. package/components/Notification/components/NotificationHeader.js +1 -1
  387. package/components/Notification/components/NotificationIcon.js +1 -1
  388. package/components/Notification/components/NotificationTime.js +1 -1
  389. package/components/OrderedList/OrderedList.js +3 -3
  390. package/components/OrderedList/OrderedListItem.js +3 -3
  391. package/components/Overlay/Overlay.js +2 -2
  392. package/components/Overlay/OverlayMask.js +2 -2
  393. package/components/Overlay/OverlayPanel.js +2 -2
  394. package/components/Page/Page.js +2 -2
  395. package/components/Page/components/BodyPage.js +4 -4
  396. package/components/Page/components/FooterPage.js +2 -2
  397. package/components/Page/components/HeaderPage.js +2 -2
  398. package/components/Pagination/components/PaginationExtended.js +3 -3
  399. package/components/Pagination/components/PaginationNavigation.js +1 -1
  400. package/components/Pagination/components/PaginationNavigation.js.map +1 -1
  401. package/components/Pagination/components/PaginationNavigationButton.js +2 -2
  402. package/components/Pagination/components/PaginationNavigationExtended.js +2 -2
  403. package/components/Pagination/components/PaginationPageButton.js +3 -3
  404. package/components/Pagination/components/PaginationPageEllipsis.js +2 -2
  405. package/components/Pagination/components/PaginationSelect.js +3 -3
  406. package/components/Pagination/{utils/paginationUtils.js → utils.js} +2 -2
  407. package/components/Pagination/utils.js.map +1 -0
  408. package/components/Portal/Portal.js.map +1 -1
  409. package/components/Radio/Radio.js +10 -10
  410. package/components/Radio/RadioXGroup.js +9 -9
  411. package/components/Radio/RadioYGroup.js +2 -2
  412. package/components/Row/Row.js +5 -5
  413. package/components/SMSField/SMSField.js +3 -3
  414. package/components/SMSField/components/RefreshIcon.js +2 -2
  415. package/components/SMSField/components/SMSFieldInput.js +2 -2
  416. package/components/SMSField/components/SMSFieldRefresh.js +2 -2
  417. package/components/SMSField/components/SMSFieldSubmit.js +2 -2
  418. package/components/SMSField/components/SMSFieldTooltip.js +1 -1
  419. package/components/SegmentedControl/SegmentedControl.js +10 -10
  420. package/components/SegmentedControl/SegmentedControlSegment.js +4 -4
  421. package/components/SelectExtendedField/SelectExtendedField.js +3 -2
  422. package/components/SelectExtendedField/SelectExtendedField.js.map +1 -1
  423. package/components/SelectExtendedField/components/SelectExtendedFieldDropdown.js +1 -1
  424. package/components/SelectExtendedField/components/SelectExtendedFieldDropdownDefault.js +1 -1
  425. package/components/SelectExtendedField/components/SelectExtendedFieldTarget.js +8 -8
  426. package/components/SelectField/SelectField.js +2 -2
  427. package/components/Skeleton/Skeleton.js +5 -5
  428. package/components/SliderExtended/SliderExtended.js +3 -3
  429. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js +7 -6
  430. package/components/SliderExtended/components/SliderExtendedDot/SliderExtendedDot.js.map +1 -1
  431. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMark.js +2 -2
  432. package/components/SliderExtended/components/SliderExtendedMarks/SliderExtendedMarks.js +2 -2
  433. package/components/SliderExtended/components/SliderExtendedRail.js +2 -2
  434. package/components/SliderExtended/components/SliderExtendedTooltip/SliderExtendedTooltip.js +5 -5
  435. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js +8 -7
  436. package/components/SliderExtended/components/SliderExtendedTrack/SliderExtendedTrack.js.map +1 -1
  437. package/components/SmallInput/SmallInput.js +2 -2
  438. package/components/Spoiler/Spoiler.js +11 -11
  439. package/components/StatusTracker/StatusTracker.js +8 -7
  440. package/components/StatusTracker/StatusTracker.js.map +1 -1
  441. package/components/StatusTracker/components/StatusTrackerAlert.js +2 -2
  442. package/components/StatusTracker/components/StatusTrackerBody.js +2 -2
  443. package/components/StatusTracker/components/StatusTrackerButton.js +2 -2
  444. package/components/StatusTracker/components/StatusTrackerDescription.js +2 -2
  445. package/components/StatusTracker/components/StatusTrackerFooter.js +2 -2
  446. package/components/StatusTracker/components/StatusTrackerHeader.js +2 -2
  447. package/components/StatusTracker/components/StatusTrackerMedia.js +2 -2
  448. package/components/StatusTracker/components/StatusTrackerStatus.js +2 -2
  449. package/components/StatusTracker/components/StatusTrackerStatusGroup.js +2 -2
  450. package/components/StatusTracker/components/StatusTrackerSum.js +2 -2
  451. package/components/StatusTracker/components/StatusTrackerTitle.js +2 -2
  452. package/components/Step/Step.js +11 -11
  453. package/components/Stepper/Stepper.js +9 -9
  454. package/components/Stepper/StepperExtended.js +2 -2
  455. package/components/Stepper/StepperStep.js +3 -3
  456. package/components/Stepper/StepperStepArrowBorder.js +1 -1
  457. package/components/Suggest/SuggestMobileDropdownContent.js +3 -3
  458. package/components/Suggest/useSuggest.js +1 -1
  459. package/components/SuggestField/SuggestField.js +1 -1
  460. package/components/SuggestField/desktop/SuggestFieldDesktop.js +2 -2
  461. package/components/SuggestField/desktop/SuggestFieldDesktopDropdown.js +1 -1
  462. package/components/SuggestField/index.js +1 -1
  463. package/components/SuggestField/mobile/SuggestFieldMobile.js +1 -1
  464. package/components/SuggestField/mobile/SuggestFieldMobileDropdown.js +2 -2
  465. package/components/SuggestField/mobile/SuggestFieldMobileDropdownHint.js +1 -1
  466. package/components/SuggestField/mobile/index.js +1 -1
  467. package/components/SwipeableArea/SwipeableArea.js +9 -9
  468. package/components/Table/ChipPanel.js +2 -2
  469. package/components/Table/ChipPanelLinks.js +2 -2
  470. package/components/Table/FilterPanel.js +3 -3
  471. package/components/Table/MasterTable.js +3 -3
  472. package/components/Table/NoColumns.js +3 -3
  473. package/components/Table/PaginationPanel.js +3 -3
  474. package/components/Table/TableBasic/TableBasic.js +2 -2
  475. package/components/Table/TableBasic/components/TableBasicBody.js +2 -2
  476. package/components/Table/TableBasic/components/TableBasicHeader.js +2 -2
  477. package/components/Table/TableBasic/components/TableBasicRow.js +2 -2
  478. package/components/Table/TableBasicSettings/TableBasicSettings.js +3 -3
  479. package/components/Table/TableBasicSettings/components/ColumnSettingsSortableListItemTarget.js +3 -3
  480. package/components/Table/TableBasicSettings/components/ColumnSettingsStaticListItem.js +2 -2
  481. package/components/Table/TableBasicSettings/components/TableBasicSettingsBody.js +2 -2
  482. package/components/Table/TableBasicSettings/components/TableBasicSettingsFooter.js +2 -2
  483. package/components/Table/TableBasicSettings/components/TableBasicSettingsHeader.js +2 -2
  484. package/components/Table/TableFooter/TableFooter.js +2 -2
  485. package/components/Table/TableFooter/components/TableFooterSummary.js +1 -1
  486. package/components/Table/TableFooter/components/TableFooterSummaryAmount.js +1 -1
  487. package/components/Table/TableFooter/components/TableFooterSummarySelectAllButton.js +1 -1
  488. package/components/Table/TableFooter/components/TableFooterSummarySelectedCount.js +1 -1
  489. package/components/Table/utils.js +1 -1
  490. package/components/Tabs/Tabs.js +6 -6
  491. package/components/TabsExtended/TabsExtended.js +3 -3
  492. package/components/TabsExtended/components/TabsExtendedContent.js +2 -2
  493. package/components/TabsExtended/components/TabsExtendedDropdownWrapper.js +2 -2
  494. package/components/TabsExtended/components/TabsExtendedTab.js +2 -2
  495. package/components/TabsExtended/components/TabsExtendedTabButton.js +2 -2
  496. package/components/TabsExtended/components/TabsExtendedTabsWrapper.js +2 -2
  497. package/components/TabsExtended/utils.js +1 -1
  498. package/components/TabsLine/TabsLine.js +2 -2
  499. package/components/TabsLine/components/TabsLineDesktop.js +2 -2
  500. package/components/TabsLine/components/TabsLineDropdown.js +3 -3
  501. package/components/TabsLine/components/TabsLineItem.js +2 -2
  502. package/components/TabsLine/components/TabsLineMobile.js +2 -2
  503. package/components/Tag/Tag.js +6 -6
  504. package/components/TagColor/TagColor.js +11 -11
  505. package/components/TagGroup/TagGroup.js +5 -5
  506. package/components/ThemeProvider/ETriplexNextTheme.js.map +1 -1
  507. package/components/ThemeProvider/ThemeProvider.js +6 -4
  508. package/components/ThemeProvider/ThemeProvider.js.map +1 -1
  509. package/components/ThemeProvider/ThemeProviderContext.js.map +1 -1
  510. package/components/ThemeProvider/components/ThemeProviderView.js +7 -10
  511. package/components/ThemeProvider/components/ThemeProviderView.js.map +1 -1
  512. package/components/ThemeProvider/useToken.js.map +1 -1
  513. package/components/Tooltip/Tooltip.js +49 -52
  514. package/components/Tooltip/Tooltip.js.map +1 -1
  515. package/components/Tooltip/TootlipContext.js.map +1 -1
  516. package/components/Tooltip/components/common/TooltipBody.js +2 -2
  517. package/components/Tooltip/components/common/TooltipLink.js +8 -19
  518. package/components/Tooltip/components/common/TooltipLink.js.map +1 -1
  519. package/components/Tooltip/components/common/TooltipTarget.js.map +1 -1
  520. package/components/Tooltip/components/common/TooltipXButton.js +1 -1
  521. package/components/Tooltip/components/desktop/TooltipDesktop.js +24 -12
  522. package/components/Tooltip/components/desktop/TooltipDesktop.js.map +1 -1
  523. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js +26 -25
  524. package/components/Tooltip/components/desktop/components/TooltipDesktopBase.js.map +1 -1
  525. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js +9 -18
  526. package/components/Tooltip/components/desktop/components/TooltipDesktopTip.js.map +1 -1
  527. package/components/Tooltip/components/mobile/TooltipMobile.js +11 -7
  528. package/components/Tooltip/components/mobile/TooltipMobile.js.map +1 -1
  529. package/components/Tooltip/components/mobile/components/TooltipMobileHeader.js +2 -2
  530. package/components/Tooltip/components/mobile/components/TooltipMobileHeader.js.map +1 -1
  531. package/components/Tooltip/enums.js.map +1 -1
  532. package/components/Tooltip/utils/Positioning.js +18 -17
  533. package/components/Tooltip/utils/Positioning.js.map +1 -1
  534. package/components/Tooltip/utils/useTooltipTheme.js +40 -12
  535. package/components/Tooltip/utils/useTooltipTheme.js.map +1 -1
  536. package/components/TopOverlay/TopOverlay.js +7 -7
  537. package/components/TreeView/TreeView.js +2 -2
  538. package/components/TreeView/components/TreeViewGroup.js +1 -1
  539. package/components/TreeView/components/TreeViewNode.js +2 -2
  540. package/components/Typography/Caption.js +8 -8
  541. package/components/Typography/CodeText.js +3 -3
  542. package/components/Typography/Text.js +10 -10
  543. package/components/Typography/Title.js +11 -11
  544. package/components/Typography/Title.js.map +1 -1
  545. package/components/Typography/constants.js +1 -1
  546. package/components/UnorderedList/UnorderedList.js +3 -3
  547. package/components/UnorderedList/UnorderedListItem.js +3 -3
  548. package/components/UploadZone/UploadZone.js +3 -3
  549. package/components/UploadZone/components/UploadZoneInput.js +2 -2
  550. package/components/UploadZone/index.js +1 -1
  551. package/components/WindowResizeListener/WindowResizeListener.js +1 -1
  552. package/components/index.js +7 -8
  553. package/consts/DateConst.js.map +1 -1
  554. package/index.d.ts +254 -110
  555. package/index.js +7 -8
  556. package/package.json +1 -1
  557. package/styles/triplex-next.css +2949 -2939
  558. package/utils/amountUtils.js +1 -1
  559. package/chunks/CalendarViewItem-AChLlz4N.js.map +0 -1
  560. package/chunks/Card.module-CZ1_wRdI.js +0 -30
  561. package/chunks/Card.module-CZ1_wRdI.js.map +0 -1
  562. package/chunks/Carousel.module-COe08s01.js +0 -30
  563. package/chunks/Carousel.module-COe08s01.js.map +0 -1
  564. package/chunks/CheckboxTreeExtended.module-CsB5Xz5K.js +0 -24
  565. package/chunks/CheckboxTreeExtended.module-CsB5Xz5K.js.map +0 -1
  566. package/chunks/Chip-DGvjOx0y.js.map +0 -1
  567. package/chunks/Confirm.module-CEJR1txO.js +0 -24
  568. package/chunks/Confirm.module-CEJR1txO.js.map +0 -1
  569. package/chunks/DropdownListItem-COR0eOzM.js.map +0 -1
  570. package/chunks/DropdownMobile.module-DUiUSr13.js +0 -40
  571. package/chunks/DropdownMobile.module-DUiUSr13.js.map +0 -1
  572. package/chunks/Footer.module-DUTwBl0x.js +0 -12
  573. package/chunks/Footer.module-DUTwBl0x.js.map +0 -1
  574. package/chunks/HeaderLayoutSidebar.module-o5cCUCGl.js.map +0 -1
  575. package/chunks/HeaderTabs.module-Ch5Mbe7q.js +0 -12
  576. package/chunks/HeaderTabs.module-Ch5Mbe7q.js.map +0 -1
  577. package/chunks/HeaderTitle.module-CUVjwVW7.js.map +0 -1
  578. package/chunks/ImageGalleryExtendedMain.module-BMoLBevi.js +0 -28
  579. package/chunks/ImageGalleryExtendedMain.module-BMoLBevi.js.map +0 -1
  580. package/chunks/IslandAccordion.module-YxGUkwAy.js +0 -44
  581. package/chunks/IslandAccordion.module-YxGUkwAy.js.map +0 -1
  582. package/chunks/IslandWidgetFooter.module-Bk3x1llO.js +0 -12
  583. package/chunks/IslandWidgetFooter.module-Bk3x1llO.js.map +0 -1
  584. package/chunks/IslandWidgetHeader.module-BcrHca9Y.js +0 -20
  585. package/chunks/IslandWidgetHeader.module-BcrHca9Y.js.map +0 -1
  586. package/chunks/LightBoxControls.module-DisqspyG.js +0 -26
  587. package/chunks/LightBoxControls.module-DisqspyG.js.map +0 -1
  588. package/chunks/LightBoxSideOverlayClose.module-BVuB53vM.js.map +0 -1
  589. package/chunks/ListItemTail.module-B24d99yc.js +0 -18
  590. package/chunks/ListItemTail.module-B24d99yc.js.map +0 -1
  591. package/chunks/ListMasterFooter.module-XwfScyft.js +0 -14
  592. package/chunks/ListMasterFooter.module-XwfScyft.js.map +0 -1
  593. package/chunks/ModalWindow.module-CAccCwuD.js +0 -28
  594. package/chunks/ModalWindow.module-CAccCwuD.js.map +0 -1
  595. package/chunks/Notification.module-yXlyaoAB.js +0 -34
  596. package/chunks/Notification.module-yXlyaoAB.js.map +0 -1
  597. package/chunks/Overlay.module-gnmqM0Mg.js +0 -30
  598. package/chunks/Overlay.module-gnmqM0Mg.js.map +0 -1
  599. package/chunks/Page.module-CyuFcFEq.js +0 -15
  600. package/chunks/Page.module-CyuFcFEq.js.map +0 -1
  601. package/chunks/SMSField.module-By9uV96A.js +0 -26
  602. package/chunks/SMSField.module-By9uV96A.js.map +0 -1
  603. package/chunks/SliderExtendedMarks.module-DwGOsapl.js +0 -24
  604. package/chunks/SliderExtendedMarks.module-DwGOsapl.js.map +0 -1
  605. package/chunks/StatusTracker.module-DSfmXNxw.js +0 -42
  606. package/chunks/StatusTracker.module-DSfmXNxw.js.map +0 -1
  607. package/chunks/TableFooter.module-DM5tgc_b.js +0 -22
  608. package/chunks/TableFooter.module-DM5tgc_b.js.map +0 -1
  609. package/chunks/TabsExtended.module-91rJFYMk.js +0 -26
  610. package/chunks/TabsExtended.module-91rJFYMk.js.map +0 -1
  611. package/chunks/TabsLine.module-DAe_P2wh.js +0 -36
  612. package/chunks/TabsLine.module-DAe_P2wh.js.map +0 -1
  613. package/chunks/TooltipDesktop.module-BW_tN5pN.js +0 -32
  614. package/chunks/TooltipDesktop.module-BW_tN5pN.js.map +0 -1
  615. package/chunks/TreeView.module-BheprFto.js +0 -12
  616. package/chunks/TreeView.module-BheprFto.js.map +0 -1
  617. package/chunks/utils-BXgC_I8P.js.map +0 -1
  618. package/chunks/vendor-DKrjZZwJ.js +0 -36109
  619. package/chunks/vendor-DKrjZZwJ.js.map +0 -1
  620. package/components/Carousel/__tests__/utils.js +0 -92
  621. package/components/Carousel/__tests__/utils.js.map +0 -1
  622. package/components/Pagination/utils/paginationUtils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport { uniqueId } from \"lodash-es\";\nimport { dateFormatYYYYMMDD, globalLimitRange } from \"../../consts/DateConst\";\nimport { EComponentSize } from \"../../enums\";\nimport { ICalendarProps, TPickedDate } from \"./types\";\nimport { ECalendarPickType, ECalendarViewMode } from \"./enums\";\nimport { CalendarContext } from \"./CalendarContext\";\nimport { CalendarControls } from \"./components/CalendarControls\";\nimport { CalendarView } from \"./components/CalendarView\";\nimport { CalendarFooter } from \"./components/CalendarFooter\";\nimport { CalendarFooterButton } from \"./components/CalendarFooterButton\";\nimport { formatDate, getHeader, parsePickedDate } from \"./utils\";\nimport styles from \"./styles/Calendar.module.less\";\n\n/** Состояния компонента Calendar. */\ninterface ICalendarState {\n /** Вид отображения. */\n viewMode: ECalendarViewMode;\n /** Дата, являющая курсором для навигации по интерфейсу. */\n viewDate: moment.Moment;\n /** Выбранная дата в формате Moment. */\n pickedDate: TPickedDate;\n /** Заголовок календаря. */\n header: string;\n}\n\n/** Календарь. */\nexport class Calendar extends React.PureComponent<ICalendarProps, ICalendarState> {\n public static defaultProps = {\n format: dateFormatYYYYMMDD,\n limitRange: globalLimitRange,\n pickType: ECalendarPickType.DATE,\n };\n\n static contextType = CalendarContext;\n declare context: React.ContextType<typeof CalendarContext>;\n\n // Уникальный идентификатор для связи периода с таблицей.\n private periodId = `calendar-period-${uniqueId()}`;\n\n constructor(props: Readonly<ICalendarProps>) {\n super(props);\n\n const { format, pickType, reversedPick } = this.props;\n const pickedDate = parsePickedDate(this.props.pickedDate, format);\n const viewDate = this.getInitialViewDate(pickedDate);\n\n let viewMode: ECalendarViewMode;\n\n if (reversedPick) {\n viewMode = ECalendarViewMode.YEARS;\n } else if (pickType == ECalendarPickType.MONTH_YEAR) {\n viewMode = ECalendarViewMode.MONTHS;\n } else {\n viewMode = ECalendarViewMode.DAYS;\n }\n\n const header = formatDate(viewDate, viewMode);\n\n this.state = {\n header,\n pickedDate,\n viewDate,\n viewMode,\n };\n }\n\n /** Получить изначальную дату для навигации. */\n private getInitialViewDate(pickedDate: TPickedDate) {\n const { defaultViewDate, format, limitRange } = this.props;\n\n if (pickedDate && pickedDate.isValid()) {\n return pickedDate.clone();\n }\n\n if (defaultViewDate) {\n const parsedDate = parsePickedDate(defaultViewDate, format);\n\n if (parsedDate && parsedDate.isValid()) {\n return parsedDate.clone();\n }\n }\n\n const todayDate = moment().startOf(\"day\");\n\n if (limitRange) {\n if (limitRange.dateFrom && todayDate.isBefore(limitRange.dateFrom)) {\n return limitRange.dateFrom.clone();\n } else if (limitRange.dateTo && todayDate.isAfter(limitRange.dateTo)) {\n return limitRange.dateTo.clone();\n }\n }\n\n return todayDate;\n }\n\n public componentDidUpdate(prevProps: ICalendarProps, prevState: ICalendarState): void {\n const { format } = this.props;\n const { viewDate } = this.state;\n const { viewDate: prevViewDate } = prevState;\n\n const pickedDateState = parsePickedDate(this.props.pickedDate, format);\n const pickedDateValid = pickedDateState?.isValid();\n const resultDate = pickedDateValid ? pickedDateState : prevViewDate;\n\n const prevPickedDate = parsePickedDate(prevProps.pickedDate, format);\n\n if (!(!pickedDateValid || prevPickedDate?.isSame(resultDate, \"day\"))) {\n let newDateContext = {};\n\n if (viewDate && !viewDate.isSame(pickedDateState, \"month\")) {\n newDateContext = {\n currentTab: ECalendarViewMode.DAYS,\n header: getHeader(resultDate),\n viewDate: resultDate!.clone(),\n };\n }\n\n this.setState({\n ...newDateContext,\n pickedDate: pickedDateState,\n });\n }\n }\n\n public render() {\n const {\n format,\n pickType,\n limitRange,\n markedDays,\n disabledDays,\n dayHtmlAttributes,\n monthHtmlAttributes,\n yearHtmlAttributes,\n prevButtonProps,\n nextButtonProps,\n viewButtonProps,\n todayButtonProps,\n } = this.props;\n const { viewMode, viewDate, header } = this.state;\n const classNames = clsx(\n styles.calendar,\n this.props.adaptiveMode\n ? styles.adaptive\n : (viewMode !== ECalendarViewMode.DAYS || todayButtonProps) && styles.extraBottom,\n );\n\n const pickedDate = parsePickedDate(this.props.pickedDate, format);\n\n return (\n <div className={classNames} data-tx={process.env.npm_package_version}>\n <CalendarContext.Provider\n value={{\n format: format,\n limitRange: limitRange!,\n pickType: pickType!,\n markedDays: markedDays,\n disabledDays: disabledDays,\n viewDate: viewDate,\n viewMode: viewMode,\n periodId: this.periodId,\n onDateSelect: this.handleDateSelect,\n onPageChange: this.handlePageChange,\n onViewChange: this.handleViewChange,\n }}\n >\n <CalendarControls\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n viewButtonProps={viewButtonProps}\n >\n {header}\n </CalendarControls>\n <CalendarView\n pickedDate={pickedDate}\n dayHtmlAttributes={dayHtmlAttributes}\n monthHtmlAttributes={monthHtmlAttributes}\n yearHtmlAttributes={yearHtmlAttributes}\n />\n {todayButtonProps && this.renderFooter()}\n </CalendarContext.Provider>\n </div>\n );\n }\n\n /** Обработчик выбора даты. */\n private handleDateSelect = (date: moment.Moment) => {\n this.props.onDateChange(date);\n };\n\n /** Обработчик смены страницы. */\n private handlePageChange = (nextViewDate: moment.Moment, viewMode: ECalendarViewMode) => {\n const { onPageChange } = this.props;\n\n this.setState({\n header: formatDate(nextViewDate, viewMode),\n viewDate: nextViewDate,\n });\n\n onPageChange?.(nextViewDate, viewMode);\n };\n\n /** Обработчик изменения вида отображения. */\n private handleViewChange = (nextViewDate: moment.Moment, nextViewMode: ECalendarViewMode) => {\n const { onViewChange } = this.props;\n\n this.setState({\n header: formatDate(nextViewDate, nextViewMode),\n viewDate: nextViewDate,\n viewMode: nextViewMode,\n });\n\n onViewChange?.(nextViewDate, nextViewMode);\n };\n\n /** Рендер футера. */\n private renderFooter = () => {\n const { pickType, adaptiveMode, yesterdayButtonProps, todayButtonProps, tomorrowButtonProps } = this.props;\n const { viewDate, viewMode } = this.state;\n let todayDate: moment.Moment;\n let currentPeriodSelected: boolean;\n\n if (pickType === ECalendarPickType.DATE) {\n todayDate = moment().startOf(\"day\");\n currentPeriodSelected = viewMode === ECalendarViewMode.DAYS && viewDate.isSame(todayDate, \"month\");\n } else {\n todayDate = moment().startOf(\"month\");\n currentPeriodSelected = viewMode === ECalendarViewMode.MONTHS && viewDate.isSame(todayDate, \"year\");\n }\n\n const needShowAsideButtons = currentPeriodSelected && viewMode === ECalendarViewMode.DAYS;\n const buttonSize = adaptiveMode ? EComponentSize.MD : EComponentSize.SM;\n\n return (\n <CalendarFooter>\n {/* Вчера */}\n {needShowAsideButtons && yesterdayButtonProps && (\n <CalendarFooterButton\n size={buttonSize}\n date={todayDate.clone().subtract(1, \"day\")}\n currentPeriodSelected={currentPeriodSelected}\n {...(typeof yesterdayButtonProps === \"function\"\n ? yesterdayButtonProps(viewMode)\n : yesterdayButtonProps)}\n />\n )}\n {/* Сегодня / К текущей дате */}\n <CalendarFooterButton\n size={buttonSize}\n date={todayDate}\n currentPeriodSelected={currentPeriodSelected}\n {...(typeof todayButtonProps === \"function\"\n ? todayButtonProps({ viewMode, currentPeriodSelected })\n : todayButtonProps)}\n />\n {/* Завтра */}\n {needShowAsideButtons && tomorrowButtonProps && (\n <CalendarFooterButton\n size={buttonSize}\n date={todayDate.clone().add(1, \"day\")}\n currentPeriodSelected={currentPeriodSelected}\n {...(typeof tomorrowButtonProps === \"function\"\n ? tomorrowButtonProps(viewMode)\n : tomorrowButtonProps)}\n />\n )}\n </CalendarFooter>\n );\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport { uniqueId } from \"lodash-es\";\nimport { dateFormatYYYYMMDD, globalLimitRange } from \"../../consts/DateConst\";\nimport { EComponentSize } from \"../../enums\";\nimport { ICalendarProps, TPickedDate } from \"./types\";\nimport { ECalendarPickType, ECalendarViewMode } from \"./enums\";\nimport { CalendarContext } from \"./CalendarContext\";\nimport { CalendarControls } from \"./components/CalendarControls\";\nimport { CalendarView } from \"./components/CalendarView\";\nimport { CalendarFooter } from \"./components/CalendarFooter\";\nimport { CalendarFooterButton } from \"./components/CalendarFooterButton\";\nimport { formatDate, parsePickedDate } from \"./utils\";\nimport styles from \"./styles/Calendar.module.less\";\n\n/** Состояния компонента Calendar. */\ninterface ICalendarState {\n /** Вид отображения. */\n viewMode: ECalendarViewMode;\n /** Дата, являющая курсором для навигации по интерфейсу. */\n viewDate: moment.Moment;\n /** Выбранная дата в формате Moment. */\n pickedDate: TPickedDate;\n /** Заголовок календаря. */\n header: string;\n}\n\n/** Календарь. */\nexport class Calendar extends React.PureComponent<ICalendarProps, ICalendarState> {\n public static defaultProps = {\n format: dateFormatYYYYMMDD,\n limitRange: globalLimitRange,\n pickType: ECalendarPickType.DATE,\n };\n\n static contextType = CalendarContext;\n declare context: React.ContextType<typeof CalendarContext>;\n\n // Уникальный идентификатор для связи периода с таблицей.\n private periodId = `calendar-period-${uniqueId()}`;\n\n constructor(props: Readonly<ICalendarProps>) {\n super(props);\n\n const { format, pickType, reversedPick } = this.props;\n const pickedDate = parsePickedDate(this.props.pickedDate, format);\n const viewDate = this.getInitialViewDate(pickedDate);\n\n let viewMode: ECalendarViewMode;\n\n if (reversedPick) {\n viewMode = ECalendarViewMode.YEARS;\n } else if (pickType == ECalendarPickType.MONTH_YEAR) {\n viewMode = ECalendarViewMode.MONTHS;\n } else {\n viewMode = ECalendarViewMode.DAYS;\n }\n\n const header = formatDate(viewDate, viewMode);\n\n this.state = {\n header,\n pickedDate,\n viewDate,\n viewMode,\n };\n }\n\n /** Получить изначальную дату для навигации. */\n private getInitialViewDate(pickedDate: TPickedDate) {\n const { defaultViewDate, format, limitRange } = this.props;\n\n if (pickedDate && pickedDate.isValid()) {\n return pickedDate.clone();\n }\n\n if (defaultViewDate) {\n const parsedDate = parsePickedDate(defaultViewDate, format);\n\n if (parsedDate && parsedDate.isValid()) {\n return parsedDate.clone();\n }\n }\n\n const todayDate = moment().startOf(\"day\");\n\n if (limitRange) {\n if (limitRange.dateFrom && todayDate.isBefore(limitRange.dateFrom)) {\n return limitRange.dateFrom.clone();\n } else if (limitRange.dateTo && todayDate.isAfter(limitRange.dateTo)) {\n return limitRange.dateTo.clone();\n }\n }\n\n return todayDate;\n }\n\n public componentDidUpdate(prevProps: ICalendarProps, prevState: ICalendarState): void {\n const { format } = this.props;\n const { viewDate, viewMode } = this.state;\n const { viewDate: prevViewDate } = prevState;\n\n const pickedDateState = parsePickedDate(this.props.pickedDate, format);\n const pickedDateValid = pickedDateState?.isValid();\n const resultDate = pickedDateValid ? pickedDateState : prevViewDate;\n\n const prevPickedDate = parsePickedDate(prevProps.pickedDate, format);\n\n if (!(!pickedDateValid || prevPickedDate?.isSame(resultDate, \"day\"))) {\n // Выбранная дата переехала в другой месяц — переводим навигацию на её страницу.\n if (viewDate && !viewDate.isSame(pickedDateState, \"month\")) {\n this.setState({\n // Формат заголовка зависит от вида отображения — как в handlePageChange / handleViewChange.\n header: formatDate(resultDate, viewMode),\n // Значение не null: ветка выполняется только при валидной pickedDate, тогда resultDate === pickedDateState.\n viewDate: resultDate!.clone(),\n pickedDate: pickedDateState,\n });\n } else {\n this.setState({ pickedDate: pickedDateState });\n }\n }\n }\n\n public render() {\n const {\n format,\n pickType,\n limitRange,\n markedDays,\n disabledDays,\n dayHtmlAttributes,\n monthHtmlAttributes,\n yearHtmlAttributes,\n prevButtonProps,\n nextButtonProps,\n viewButtonProps,\n todayButtonProps,\n } = this.props;\n const { viewMode, viewDate, header } = this.state;\n const classNames = clsx(\n styles.calendar,\n this.props.adaptiveMode\n ? styles.adaptive\n : (viewMode !== ECalendarViewMode.DAYS || todayButtonProps) && styles.extraBottom,\n );\n\n const pickedDate = parsePickedDate(this.props.pickedDate, format);\n\n return (\n <div className={classNames} data-tx={process.env.npm_package_version}>\n <CalendarContext.Provider\n value={{\n format,\n // Значения не undefined: заданы в defaultProps, но TypeScript не сужает тип опциональных props.\n limitRange: limitRange!,\n pickType: pickType!,\n markedDays,\n disabledDays,\n viewDate,\n viewMode,\n periodId: this.periodId,\n onDateSelect: this.handleDateSelect,\n onPageChange: this.handlePageChange,\n onViewChange: this.handleViewChange,\n }}\n >\n <CalendarControls\n prevButtonProps={prevButtonProps}\n nextButtonProps={nextButtonProps}\n viewButtonProps={viewButtonProps}\n >\n {header}\n </CalendarControls>\n <CalendarView\n pickedDate={pickedDate}\n dayHtmlAttributes={dayHtmlAttributes}\n monthHtmlAttributes={monthHtmlAttributes}\n yearHtmlAttributes={yearHtmlAttributes}\n />\n {todayButtonProps && this.renderFooter()}\n </CalendarContext.Provider>\n </div>\n );\n }\n\n /** Обработчик выбора даты. */\n private handleDateSelect = (date: moment.Moment) => {\n this.props.onDateChange(date);\n };\n\n /** Обработчик смены страницы. */\n private handlePageChange = (nextViewDate: moment.Moment, viewMode: ECalendarViewMode) => {\n const { onPageChange } = this.props;\n\n this.setState({\n header: formatDate(nextViewDate, viewMode),\n viewDate: nextViewDate,\n });\n\n onPageChange?.(nextViewDate, viewMode);\n };\n\n /** Обработчик изменения вида отображения. */\n private handleViewChange = (nextViewDate: moment.Moment, nextViewMode: ECalendarViewMode) => {\n const { onViewChange } = this.props;\n\n this.setState({\n header: formatDate(nextViewDate, nextViewMode),\n viewDate: nextViewDate,\n viewMode: nextViewMode,\n });\n\n onViewChange?.(nextViewDate, nextViewMode);\n };\n\n /** Рендер футера. */\n private renderFooter = () => {\n const { pickType, adaptiveMode, yesterdayButtonProps, todayButtonProps, tomorrowButtonProps } = this.props;\n const { viewDate, viewMode } = this.state;\n let todayDate: moment.Moment;\n let currentPeriodSelected: boolean;\n\n if (pickType === ECalendarPickType.DATE) {\n todayDate = moment().startOf(\"day\");\n currentPeriodSelected = viewMode === ECalendarViewMode.DAYS && viewDate.isSame(todayDate, \"month\");\n } else {\n todayDate = moment().startOf(\"month\");\n currentPeriodSelected = viewMode === ECalendarViewMode.MONTHS && viewDate.isSame(todayDate, \"year\");\n }\n\n const needShowAsideButtons = currentPeriodSelected && viewMode === ECalendarViewMode.DAYS;\n const buttonSize = adaptiveMode ? EComponentSize.MD : EComponentSize.SM;\n\n return (\n <CalendarFooter>\n {/* Вчера */}\n {needShowAsideButtons && yesterdayButtonProps && (\n <CalendarFooterButton\n size={buttonSize}\n date={todayDate.clone().subtract(1, \"day\")}\n currentPeriodSelected={currentPeriodSelected}\n {...(typeof yesterdayButtonProps === \"function\"\n ? yesterdayButtonProps(viewMode)\n : yesterdayButtonProps)}\n />\n )}\n {/* Сегодня / К текущей дате */}\n <CalendarFooterButton\n size={buttonSize}\n date={todayDate}\n currentPeriodSelected={currentPeriodSelected}\n {...(typeof todayButtonProps === \"function\"\n ? todayButtonProps({ viewMode, currentPeriodSelected })\n : todayButtonProps)}\n />\n {/* Завтра */}\n {needShowAsideButtons && tomorrowButtonProps && (\n <CalendarFooterButton\n size={buttonSize}\n date={todayDate.clone().add(1, \"day\")}\n currentPeriodSelected={currentPeriodSelected}\n {...(typeof tomorrowButtonProps === \"function\"\n ? tomorrowButtonProps(viewMode)\n : tomorrowButtonProps)}\n />\n )}\n </CalendarFooter>\n );\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarContext.js","sources":["../../../src/components/Calendar/CalendarContext.tsx"],"sourcesContent":["import React from \"react\";\nimport moment from \"moment\";\nimport { dateFormatYYYYMMDD, globalLimitRange } from \"../../consts/DateConst\";\nimport { ECalendarPickType, ECalendarViewMode } from \"./enums\";\nimport { ICalendarProps } from \"./types\";\n\n/** Свойства контекста CalendarView. */\nexport interface ICalendarContext\n extends\n Pick<ICalendarProps, \"format\" | \"markedDays\" | \"disabledDays\">,\n Required<Pick<ICalendarProps, \"pickType\" | \"limitRange\" | \"onPageChange\" | \"onViewChange\">> {\n /** Дата, являющая курсором для навигации по интерфейсу. */\n viewDate: moment.Moment;\n /** Вид отображения. */\n viewMode: ECalendarViewMode;\n /** Уникальный идентификатор для связи периода с таблицей. */\n periodId: string;\n /** Функция, вызывающаяся при выборе даты. */\n onDateSelect: (date: moment.Moment) => void;\n}\n\n/** Контекст компонента Calendar. */\nexport const CalendarContext = React.createContext<ICalendarContext>({\n format: dateFormatYYYYMMDD,\n limitRange: globalLimitRange,\n pickType: ECalendarPickType.DATE,\n viewDate: moment().startOf(\"day\"),\n viewMode: ECalendarViewMode.DAYS,\n periodId: \"\",\n onDateSelect: () => {},\n onPageChange: () => {},\n onViewChange: () => {},\n});\n"],"names":[],"mappings":";;;;AAsBO,MAAM,kBAAkB,MAAM,cAAgC;AAAA,EACjE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU,kBAAkB;AAAA,EAC5B,UAAU,OAAA,EAAS,QAAQ,KAAK;AAAA,EAChC,UAAU,kBAAkB;AAAA,EAC5B,UAAU;AAAA,EACV,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,cAAc,MAAM;AAAA,EAAC;AACzB,CAAC;"}
1
+ {"version":3,"file":"CalendarContext.js","sources":["../../../src/components/Calendar/CalendarContext.tsx"],"sourcesContent":["import React from \"react\";\nimport moment from \"moment\";\nimport { dateFormatYYYYMMDD, globalLimitRange } from \"../../consts/DateConst\";\nimport { ECalendarPickType, ECalendarViewMode } from \"./enums\";\nimport { ICalendarProps } from \"./types\";\n\n/** Свойства контекста Calendar. */\nexport interface ICalendarContext\n extends\n Pick<ICalendarProps, \"format\" | \"markedDays\" | \"disabledDays\">,\n Required<Pick<ICalendarProps, \"pickType\" | \"limitRange\" | \"onPageChange\" | \"onViewChange\">> {\n /** Дата, являющая курсором для навигации по интерфейсу. */\n viewDate: moment.Moment;\n /** Вид отображения. */\n viewMode: ECalendarViewMode;\n /** Уникальный идентификатор для связи периода с таблицей. */\n periodId: string;\n /** Функция, вызывающаяся при выборе даты. */\n onDateSelect: (date: moment.Moment) => void;\n}\n\n/** Контекст компонента Calendar. */\nexport const CalendarContext = React.createContext<ICalendarContext>({\n format: dateFormatYYYYMMDD,\n limitRange: globalLimitRange,\n pickType: ECalendarPickType.DATE,\n viewDate: moment().startOf(\"day\"),\n viewMode: ECalendarViewMode.DAYS,\n periodId: \"\",\n onDateSelect: () => {},\n onPageChange: () => {},\n onViewChange: () => {},\n});\n"],"names":[],"mappings":";;;;AAsBO,MAAM,kBAAkB,MAAM,cAAgC;AAAA,EACjE,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,UAAU,kBAAkB;AAAA,EAC5B,UAAU,OAAA,EAAS,QAAQ,KAAK;AAAA,EAChC,UAAU,kBAAkB;AAAA,EAC5B,UAAU;AAAA,EACV,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,cAAc,MAAM;AAAA,EAAC;AACzB,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarViewContext.js","sources":["../../../src/components/Calendar/CalendarViewContext.tsx"],"sourcesContent":["import React from \"react\";\n\n/** Свойства контекста CalendarView. */\nexport interface ICalendarViewContext {\n viewItemFocusedRef: React.MutableRefObject<boolean>;\n}\n\n/** Контекст компонента CalendarView. */\nexport const CalendarViewContext = React.createContext<ICalendarViewContext>({\n viewItemFocusedRef: { current: false },\n});\n"],"names":[],"mappings":";AAQO,MAAM,sBAAsB,MAAM,cAAoC;AAAA,EACzE,oBAAoB,EAAE,SAAS,MAAA;AACnC,CAAC;"}
1
+ {"version":3,"file":"CalendarViewContext.js","sources":["../../../src/components/Calendar/CalendarViewContext.tsx"],"sourcesContent":["import React from \"react\";\n\n/** Свойства контекста CalendarView. */\nexport interface ICalendarViewContext {\n /** Признак того, что фокус находится на одной из ячеек текущего вида календаря. */\n viewItemFocusedRef: React.MutableRefObject<boolean>;\n}\n\n/** Контекст компонента CalendarView. */\nexport const CalendarViewContext = React.createContext<ICalendarViewContext>({\n viewItemFocusedRef: { current: false },\n});\n"],"names":[],"mappings":";AASO,MAAM,sBAAsB,MAAM,cAAoC;AAAA,EACzE,oBAAoB,EAAE,SAAS,MAAA;AACnC,CAAC;"}
@@ -2,16 +2,22 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
3
  import { CaretleftStrokeSrvIcon24, CaretrightStrokeSrvIcon24 } from "@sberbusiness/icons-next";
4
4
  import { CalendarContext } from "../CalendarContext.js";
5
+ import { shiftDate } from "../utils.js";
5
6
  import { Button } from "../../Button/Button.js";
6
7
  import { ButtonIcon } from "../../Button/ButtonIcon.js";
7
8
  import { EButtonIconShape, EButtonTheme } from "../../Button/enums.js";
8
9
  import { ECalendarViewMode } from "../enums.js";
9
10
  import { globalLimitRange } from "../../../consts/DateConst.js";
10
11
  import { EComponentSize } from "../../../enums/EComponentSize.js";
11
- const calendarControls = "calendarControls__5dfe2f25";
12
+ const calendarControls = "calendarControls__db7b7358";
12
13
  const styles = {
13
14
  calendarControls
14
15
  };
16
+ const PAGE_SHIFT_BY_VIEW_MODE = {
17
+ [ECalendarViewMode.DAYS]: { amount: 1, unit: "month" },
18
+ [ECalendarViewMode.MONTHS]: { amount: 1, unit: "year" },
19
+ [ECalendarViewMode.YEARS]: { amount: 12, unit: "year" }
20
+ };
15
21
  const CalendarControls = ({
16
22
  children,
17
23
  prevButtonProps = {},
@@ -26,7 +32,7 @@ const CalendarControls = ({
26
32
  {
27
33
  shape: EButtonIconShape.CIRCLE,
28
34
  disabled: disabled || isPrevButtonDisabled(),
29
- onClick: handlePrevButtonClick(onClick),
35
+ onClick: handlePageButtonClick("subtract", onClick),
30
36
  ...rest,
31
37
  children: /* @__PURE__ */ jsx(CaretleftStrokeSrvIcon24, { paletteIndex: 5 })
32
38
  }
@@ -39,7 +45,7 @@ const CalendarControls = ({
39
45
  {
40
46
  shape: EButtonIconShape.CIRCLE,
41
47
  disabled: disabled || isNextButtonDisabled(),
42
- onClick: handleNextButtonClick(onClick),
48
+ onClick: handlePageButtonClick("add", onClick),
43
49
  ...rest,
44
50
  children: /* @__PURE__ */ jsx(CaretrightStrokeSrvIcon24, { paletteIndex: 5 })
45
51
  }
@@ -82,17 +88,8 @@ const CalendarControls = ({
82
88
  }
83
89
  return date.add(1, "day").isAfter(limitRange.dateTo || globalLimitRange.dateTo, "day");
84
90
  };
85
- const handlePrevButtonClick = (onClick) => (event) => {
86
- const shiftUnit = getPageShiftUnit();
87
- const shiftAmount = getPageShiftAmount();
88
- const date = viewDate.clone().subtract(shiftAmount, shiftUnit);
89
- onPageChange(date, viewMode);
90
- onClick == null ? void 0 : onClick(event);
91
- };
92
- const handleNextButtonClick = (onClick) => (event) => {
93
- const shiftUnit = getPageShiftUnit();
94
- const shiftAmount = getPageShiftAmount();
95
- const date = viewDate.clone().add(shiftAmount, shiftUnit);
91
+ const handlePageButtonClick = (operation, onClick) => (event) => {
92
+ const date = shiftDate(viewDate.clone(), { operation, ...PAGE_SHIFT_BY_VIEW_MODE[viewMode] });
96
93
  onPageChange(date, viewMode);
97
94
  onClick == null ? void 0 : onClick(event);
98
95
  };
@@ -104,30 +101,13 @@ const CalendarControls = ({
104
101
  }
105
102
  onClick == null ? void 0 : onClick(event);
106
103
  };
107
- const getPageShiftUnit = () => {
108
- switch (viewMode) {
109
- case ECalendarViewMode.DAYS:
110
- return "month";
111
- case ECalendarViewMode.MONTHS:
112
- case ECalendarViewMode.YEARS:
113
- return "year";
114
- }
115
- };
116
- const getPageShiftAmount = () => {
117
- switch (viewMode) {
118
- case ECalendarViewMode.DAYS:
119
- case ECalendarViewMode.MONTHS:
120
- return 1;
121
- case ECalendarViewMode.YEARS:
122
- return 12;
123
- }
124
- };
125
104
  return /* @__PURE__ */ jsxs("div", { className: styles.calendarControls, children: [
126
105
  renderPrevButton(),
127
106
  viewMode === ECalendarViewMode.YEARS ? /* @__PURE__ */ jsx("span", { id: periodId, tabIndex: -1, "aria-live": "polite", children }) : renderViewButton(),
128
107
  renderNextButton()
129
108
  ] });
130
109
  };
110
+ CalendarControls.displayName = "CalendarControls";
131
111
  export {
132
112
  CalendarControls
133
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarControls.js","sources":["../../../../src/components/Calendar/components/CalendarControls.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport { CaretleftStrokeSrvIcon24, CaretrightStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { CalendarContext } from \"../CalendarContext\";\nimport { ICalendarProps } from \"../types\";\nimport { Button } from \"../../Button/Button\";\nimport { ButtonIcon } from \"../../Button/ButtonIcon\";\nimport { EButtonTheme, EButtonIconShape } from \"../../Button/enums\";\nimport { ECalendarViewMode } from \"../enums\";\nimport { globalLimitRange } from \"../../../consts/DateConst\";\nimport { EComponentSize } from \"../../../enums/EComponentSize\";\nimport styles from \"../styles/CalendarControls.module.less\";\n\n/** Свойства компонента CalendarControls. */\nexport interface ICalendarControlsProps extends Pick<\n ICalendarProps,\n \"prevButtonProps\" | \"nextButtonProps\" | \"viewButtonProps\"\n> {\n children: React.ReactNode;\n}\n\n/** Элементы управления календаря. */\nexport const CalendarControls: React.FC<ICalendarControlsProps> = ({\n children,\n prevButtonProps = {},\n nextButtonProps = {},\n viewButtonProps = {},\n}): JSX.Element => {\n const { viewDate, viewMode, limitRange, periodId, onPageChange, onViewChange } = useContext(CalendarContext);\n\n /** Рендер кнопки \"назад\". */\n const renderPrevButton = () => {\n const { disabled, onClick, ...rest } =\n typeof prevButtonProps === \"function\" ? prevButtonProps(viewMode) : prevButtonProps;\n\n return (\n <ButtonIcon\n shape={EButtonIconShape.CIRCLE}\n disabled={disabled || isPrevButtonDisabled()}\n onClick={handlePrevButtonClick(onClick)}\n {...rest}\n >\n <CaretleftStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n );\n };\n\n /** Рендер кнопки \"вперед\". */\n const renderNextButton = () => {\n const { disabled, onClick, ...rest } =\n typeof nextButtonProps === \"function\" ? nextButtonProps(viewMode) : nextButtonProps;\n\n return (\n <ButtonIcon\n shape={EButtonIconShape.CIRCLE}\n disabled={disabled || isNextButtonDisabled()}\n onClick={handleNextButtonClick(onClick)}\n {...rest}\n >\n <CaretrightStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n );\n };\n\n /** Рендер кнопки \"изменить вид\". */\n const renderViewButton = () => {\n const { onClick, ...rest } =\n typeof viewButtonProps === \"function\" ? viewButtonProps(viewMode) : viewButtonProps;\n\n return (\n <Button\n id={periodId}\n aria-live=\"polite\"\n theme={EButtonTheme.LINK}\n size={EComponentSize.SM}\n onClick={handleViewButtonClick(onClick)}\n {...rest}\n >\n {children}\n </Button>\n );\n };\n\n /** Проверяет, является ли кнопка \"назад\" отключенной. */\n const isPrevButtonDisabled = () => {\n const date = viewDate.clone();\n\n if (viewMode === ECalendarViewMode.DAYS) {\n date.startOf(\"month\");\n } else if (viewMode === ECalendarViewMode.MONTHS) {\n date.startOf(\"year\");\n } else if (viewMode === ECalendarViewMode.YEARS) {\n date.startOf(\"year\").subtract(5, \"years\");\n }\n\n return date.subtract(1, \"day\").isBefore(limitRange.dateFrom || globalLimitRange.dateFrom, \"day\");\n };\n\n /** Проверяет, является ли кнопка \"вперёд\" отключенной. */\n const isNextButtonDisabled = () => {\n const date = viewDate.clone();\n\n if (viewMode === ECalendarViewMode.DAYS) {\n date.endOf(\"month\");\n } else if (viewMode === ECalendarViewMode.MONTHS) {\n date.endOf(\"year\");\n } else if (viewMode === ECalendarViewMode.YEARS) {\n date.endOf(\"year\").add(6, \"years\");\n }\n\n return date.add(1, \"day\").isAfter(limitRange.dateTo || globalLimitRange.dateTo, \"day\");\n };\n\n /** Обработчик клика на кнопку \"назад\". */\n const handlePrevButtonClick =\n (onClick?: React.MouseEventHandler<HTMLButtonElement>) => (event: React.MouseEvent<HTMLButtonElement>) => {\n const shiftUnit = getPageShiftUnit();\n const shiftAmount = getPageShiftAmount();\n const date = viewDate.clone().subtract(shiftAmount, shiftUnit);\n\n onPageChange(date, viewMode);\n onClick?.(event);\n };\n\n /** Обработчик клика на кнопку \"вперёд\". */\n const handleNextButtonClick =\n (onClick?: React.MouseEventHandler<HTMLButtonElement>) => (event: React.MouseEvent<HTMLButtonElement>) => {\n const shiftUnit = getPageShiftUnit();\n const shiftAmount = getPageShiftAmount();\n const date = viewDate.clone().add(shiftAmount, shiftUnit);\n\n onPageChange(date, viewMode);\n onClick?.(event);\n };\n\n /** Обработчик клика на кнопку \"изменить вид\". */\n const handleViewButtonClick =\n (onClick?: React.MouseEventHandler<HTMLButtonElement>) => (event: React.MouseEvent<HTMLButtonElement>) => {\n if (viewMode === ECalendarViewMode.DAYS) {\n onViewChange(viewDate, ECalendarViewMode.MONTHS);\n } else if (viewMode === ECalendarViewMode.MONTHS) {\n onViewChange(viewDate, ECalendarViewMode.YEARS);\n }\n\n onClick?.(event);\n };\n\n /** Получить единицу измерения сдвига. */\n const getPageShiftUnit = () => {\n switch (viewMode) {\n case ECalendarViewMode.DAYS:\n return \"month\";\n case ECalendarViewMode.MONTHS:\n case ECalendarViewMode.YEARS:\n return \"year\";\n }\n };\n\n /** Получить количество единиц сдвига. */\n const getPageShiftAmount = () => {\n switch (viewMode) {\n case ECalendarViewMode.DAYS:\n case ECalendarViewMode.MONTHS:\n return 1;\n case ECalendarViewMode.YEARS:\n return 12;\n }\n };\n\n return (\n <div className={styles.calendarControls}>\n {renderPrevButton()}\n {viewMode === ECalendarViewMode.YEARS ? (\n <span id={periodId} tabIndex={-1} aria-live=\"polite\">\n {children}\n </span>\n ) : (\n renderViewButton()\n )}\n {renderNextButton()}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CalendarControls.js","sources":["../../../../src/components/Calendar/components/CalendarControls.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport { CaretleftStrokeSrvIcon24, CaretrightStrokeSrvIcon24 } from \"@sberbusiness/icons-next\";\nimport { CalendarContext } from \"../CalendarContext\";\nimport { ICalendarProps } from \"../types\";\nimport { ICalendarNavigationStep, TCalendarShiftOperation, shiftDate } from \"../utils\";\nimport { Button } from \"../../Button/Button\";\nimport { ButtonIcon } from \"../../Button/ButtonIcon\";\nimport { EButtonTheme, EButtonIconShape } from \"../../Button/enums\";\nimport { ECalendarViewMode } from \"../enums\";\nimport { globalLimitRange } from \"../../../consts/DateConst\";\nimport { EComponentSize } from \"../../../enums/EComponentSize\";\nimport styles from \"../styles/CalendarControls.module.less\";\n\n/** Свойства компонента CalendarControls. */\nexport interface ICalendarControlsProps extends Pick<\n ICalendarProps,\n \"prevButtonProps\" | \"nextButtonProps\" | \"viewButtonProps\"\n> {\n /** Заголовок календаря — текущий период. */\n children: React.ReactNode;\n}\n\n/** Величина сдвига страницы календаря для каждого вида отображения. */\nconst PAGE_SHIFT_BY_VIEW_MODE: Record<ECalendarViewMode, ICalendarNavigationStep> = {\n [ECalendarViewMode.DAYS]: { amount: 1, unit: \"month\" },\n [ECalendarViewMode.MONTHS]: { amount: 1, unit: \"year\" },\n [ECalendarViewMode.YEARS]: { amount: 12, unit: \"year\" },\n};\n\n/** Элементы управления календаря. */\nexport const CalendarControls: React.FC<ICalendarControlsProps> = ({\n children,\n prevButtonProps = {},\n nextButtonProps = {},\n viewButtonProps = {},\n}): JSX.Element => {\n const { viewDate, viewMode, limitRange, periodId, onPageChange, onViewChange } = useContext(CalendarContext);\n\n /** Рендер кнопки \"назад\". */\n const renderPrevButton = () => {\n const { disabled, onClick, ...rest } =\n typeof prevButtonProps === \"function\" ? prevButtonProps(viewMode) : prevButtonProps;\n\n return (\n <ButtonIcon\n shape={EButtonIconShape.CIRCLE}\n disabled={disabled || isPrevButtonDisabled()}\n onClick={handlePageButtonClick(\"subtract\", onClick)}\n {...rest}\n >\n <CaretleftStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n );\n };\n\n /** Рендер кнопки \"вперед\". */\n const renderNextButton = () => {\n const { disabled, onClick, ...rest } =\n typeof nextButtonProps === \"function\" ? nextButtonProps(viewMode) : nextButtonProps;\n\n return (\n <ButtonIcon\n shape={EButtonIconShape.CIRCLE}\n disabled={disabled || isNextButtonDisabled()}\n onClick={handlePageButtonClick(\"add\", onClick)}\n {...rest}\n >\n <CaretrightStrokeSrvIcon24 paletteIndex={5} />\n </ButtonIcon>\n );\n };\n\n /** Рендер кнопки \"изменить вид\". */\n const renderViewButton = () => {\n const { onClick, ...rest } =\n typeof viewButtonProps === \"function\" ? viewButtonProps(viewMode) : viewButtonProps;\n\n return (\n <Button\n id={periodId}\n aria-live=\"polite\"\n theme={EButtonTheme.LINK}\n size={EComponentSize.SM}\n onClick={handleViewButtonClick(onClick)}\n {...rest}\n >\n {children}\n </Button>\n );\n };\n\n /** Проверяет, является ли кнопка \"назад\" отключенной. */\n const isPrevButtonDisabled = () => {\n const date = viewDate.clone();\n\n if (viewMode === ECalendarViewMode.DAYS) {\n date.startOf(\"month\");\n } else if (viewMode === ECalendarViewMode.MONTHS) {\n date.startOf(\"year\");\n } else if (viewMode === ECalendarViewMode.YEARS) {\n date.startOf(\"year\").subtract(5, \"years\");\n }\n\n return date.subtract(1, \"day\").isBefore(limitRange.dateFrom || globalLimitRange.dateFrom, \"day\");\n };\n\n /** Проверяет, является ли кнопка \"вперёд\" отключенной. */\n const isNextButtonDisabled = () => {\n const date = viewDate.clone();\n\n if (viewMode === ECalendarViewMode.DAYS) {\n date.endOf(\"month\");\n } else if (viewMode === ECalendarViewMode.MONTHS) {\n date.endOf(\"year\");\n } else if (viewMode === ECalendarViewMode.YEARS) {\n date.endOf(\"year\").add(6, \"years\");\n }\n\n return date.add(1, \"day\").isAfter(limitRange.dateTo || globalLimitRange.dateTo, \"day\");\n };\n\n /** Обработчик клика на кнопку переключения страницы (\"назад\" / \"вперёд\"). */\n const handlePageButtonClick =\n (operation: TCalendarShiftOperation, onClick?: React.MouseEventHandler<HTMLButtonElement>) =>\n (event: React.MouseEvent<HTMLButtonElement>) => {\n const date = shiftDate(viewDate.clone(), { operation, ...PAGE_SHIFT_BY_VIEW_MODE[viewMode] });\n\n onPageChange(date, viewMode);\n onClick?.(event);\n };\n\n /** Обработчик клика на кнопку \"изменить вид\". */\n const handleViewButtonClick =\n (onClick?: React.MouseEventHandler<HTMLButtonElement>) => (event: React.MouseEvent<HTMLButtonElement>) => {\n if (viewMode === ECalendarViewMode.DAYS) {\n onViewChange(viewDate, ECalendarViewMode.MONTHS);\n } else if (viewMode === ECalendarViewMode.MONTHS) {\n onViewChange(viewDate, ECalendarViewMode.YEARS);\n }\n\n onClick?.(event);\n };\n\n return (\n <div className={styles.calendarControls}>\n {renderPrevButton()}\n {viewMode === ECalendarViewMode.YEARS ? (\n <span id={periodId} tabIndex={-1} aria-live=\"polite\">\n {children}\n </span>\n ) : (\n renderViewButton()\n )}\n {renderNextButton()}\n </div>\n );\n};\n\nCalendarControls.displayName = \"CalendarControls\";\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- const calendarFooter = "calendarFooter__9b99173d";
2
+ import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
3
+ const calendarFooter = "calendarFooter__ccf276ed";
3
4
  const styles = {
4
5
  calendarFooter
5
6
  };
6
- const CalendarFooter = ({ children }) => /* @__PURE__ */ jsx("div", { className: styles.calendarFooter, children });
7
+ const CalendarFooter = ({ children, className, ...rest }) => /* @__PURE__ */ jsx("div", { className: clsx(styles.calendarFooter, className), ...rest, children });
7
8
  CalendarFooter.displayName = "CalendarFooter";
8
9
  export {
9
10
  CalendarFooter
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarFooter.js","sources":["../../../../src/components/Calendar/components/CalendarFooter.tsx"],"sourcesContent":["import React from \"react\";\nimport styles from \"../styles/CalendarFooter.module.less\";\n\n/** Свойства компонента CalendarFooter. */\nexport interface ICalendarFooterProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/** Футер календаря. */\nexport const CalendarFooter: React.FC<ICalendarFooterProps> = ({ children }) => (\n <div className={styles.calendarFooter}>{children}</div>\n);\n\nCalendarFooter.displayName = \"CalendarFooter\";\n"],"names":[],"mappings":";;;;;AAOO,MAAM,iBAAiD,CAAC,EAAE,SAAA,0BAC5D,OAAA,EAAI,WAAW,OAAO,gBAAiB,SAAA,CAAS;AAGrD,eAAe,cAAc;"}
1
+ {"version":3,"file":"CalendarFooter.js","sources":["../../../../src/components/Calendar/components/CalendarFooter.tsx"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport styles from \"../styles/CalendarFooter.module.less\";\n\n/** Свойства компонента CalendarFooter. */\nexport interface ICalendarFooterProps extends React.HTMLAttributes<HTMLDivElement> {}\n\n/** Футер календаря. */\nexport const CalendarFooter: React.FC<ICalendarFooterProps> = ({ children, className, ...rest }) => (\n <div className={clsx(styles.calendarFooter, className)} {...rest}>\n {children}\n </div>\n);\n\nCalendarFooter.displayName = \"CalendarFooter\";\n"],"names":[],"mappings":";;;;;;AAQO,MAAM,iBAAiD,CAAC,EAAE,UAAU,WAAW,GAAG,WACrF,oBAAC,OAAA,EAAI,WAAW,KAAK,OAAO,gBAAgB,SAAS,GAAI,GAAG,MACvD,SAAA,CACL;AAGJ,eAAe,cAAc;"}
@@ -26,6 +26,7 @@ const CalendarView = ({
26
26
  };
27
27
  return /* @__PURE__ */ jsx(CalendarViewContext.Provider, { value: { viewItemFocusedRef }, children: renderCurrentView() });
28
28
  };
29
+ CalendarView.displayName = "CalendarView";
29
30
  export {
30
31
  CalendarView
31
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarView.js","sources":["../../../../src/components/Calendar/components/CalendarView.tsx"],"sourcesContent":["import React, { useContext, useRef } from \"react\";\nimport { ICalendarViewProps } from \"../types\";\nimport { CalendarContext } from \"../CalendarContext\";\nimport { CalendarViewContext } from \"../CalendarViewContext\";\nimport { ECalendarViewMode } from \"../enums\";\nimport { CalendarViewDays } from \"./CalendarViewDays\";\nimport { CalendarViewMonths } from \"./CalendarViewMonths\";\nimport { CalendarViewYears } from \"./CalendarViewYears\";\n\n/** Вид календаря. */\nexport const CalendarView: React.FC<ICalendarViewProps> = ({\n dayHtmlAttributes,\n monthHtmlAttributes,\n yearHtmlAttributes,\n ...rest\n}) => {\n const { viewMode } = useContext(CalendarContext);\n const viewItemFocusedRef = useRef(false);\n\n /** Рендер текущего вида календаря. */\n const renderCurrentView = () => {\n switch (viewMode) {\n case ECalendarViewMode.DAYS:\n return <CalendarViewDays dayHtmlAttributes={dayHtmlAttributes} {...rest} />;\n case ECalendarViewMode.MONTHS:\n return <CalendarViewMonths monthHtmlAttributes={monthHtmlAttributes} {...rest} />;\n case ECalendarViewMode.YEARS:\n return <CalendarViewYears yearHtmlAttributes={yearHtmlAttributes} {...rest} />;\n }\n };\n\n return (\n <CalendarViewContext.Provider value={{ viewItemFocusedRef }}>\n {renderCurrentView()}\n </CalendarViewContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAUO,MAAM,eAA6C,CAAC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAM;AACF,QAAM,EAAE,SAAA,IAAa,WAAW,eAAe;AAC/C,QAAM,qBAAqB,OAAO,KAAK;AAGvC,QAAM,oBAAoB,MAAM;AAC5B,YAAQ,UAAA;AAAA,MACJ,KAAK,kBAAkB;AACnB,eAAO,oBAAC,kBAAA,EAAiB,mBAAuC,GAAG,KAAA,CAAM;AAAA,MAC7E,KAAK,kBAAkB;AACnB,eAAO,oBAAC,oBAAA,EAAmB,qBAA2C,GAAG,KAAA,CAAM;AAAA,MACnF,KAAK,kBAAkB;AACnB,eAAO,oBAAC,mBAAA,EAAkB,oBAAyC,GAAG,KAAA,CAAM;AAAA,IAAA;AAAA,EAExF;AAEA,SACI,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,EAAE,sBAClC,UAAA,kBAAA,GACL;AAER;"}
1
+ {"version":3,"file":"CalendarView.js","sources":["../../../../src/components/Calendar/components/CalendarView.tsx"],"sourcesContent":["import React, { useContext, useRef } from \"react\";\nimport { ICalendarViewProps } from \"../types\";\nimport { CalendarContext } from \"../CalendarContext\";\nimport { CalendarViewContext } from \"../CalendarViewContext\";\nimport { ECalendarViewMode } from \"../enums\";\nimport { CalendarViewDays } from \"./CalendarViewDays\";\nimport { CalendarViewMonths } from \"./CalendarViewMonths\";\nimport { CalendarViewYears } from \"./CalendarViewYears\";\n\n/** Вид календаря. */\nexport const CalendarView: React.FC<ICalendarViewProps> = ({\n dayHtmlAttributes,\n monthHtmlAttributes,\n yearHtmlAttributes,\n ...rest\n}) => {\n const { viewMode } = useContext(CalendarContext);\n const viewItemFocusedRef = useRef(false);\n\n /** Рендер текущего вида календаря. */\n const renderCurrentView = () => {\n switch (viewMode) {\n case ECalendarViewMode.DAYS:\n return <CalendarViewDays dayHtmlAttributes={dayHtmlAttributes} {...rest} />;\n case ECalendarViewMode.MONTHS:\n return <CalendarViewMonths monthHtmlAttributes={monthHtmlAttributes} {...rest} />;\n case ECalendarViewMode.YEARS:\n return <CalendarViewYears yearHtmlAttributes={yearHtmlAttributes} {...rest} />;\n }\n };\n\n return (\n <CalendarViewContext.Provider value={{ viewItemFocusedRef }}>\n {renderCurrentView()}\n </CalendarViewContext.Provider>\n );\n};\n\nCalendarView.displayName = \"CalendarView\";\n"],"names":[],"mappings":";;;;;;;;AAUO,MAAM,eAA6C,CAAC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAM;AACF,QAAM,EAAE,SAAA,IAAa,WAAW,eAAe;AAC/C,QAAM,qBAAqB,OAAO,KAAK;AAGvC,QAAM,oBAAoB,MAAM;AAC5B,YAAQ,UAAA;AAAA,MACJ,KAAK,kBAAkB;AACnB,eAAO,oBAAC,kBAAA,EAAiB,mBAAuC,GAAG,KAAA,CAAM;AAAA,MAC7E,KAAK,kBAAkB;AACnB,eAAO,oBAAC,oBAAA,EAAmB,qBAA2C,GAAG,KAAA,CAAM;AAAA,MACnF,KAAK,kBAAkB;AACnB,eAAO,oBAAC,mBAAA,EAAkB,oBAAyC,GAAG,KAAA,CAAM;AAAA,IAAA;AAAA,EAExF;AAEA,SACI,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,EAAE,sBAClC,UAAA,kBAAA,GACL;AAER;AAEA,aAAa,cAAc;"}
@@ -1,14 +1,18 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useContext, useCallback, useState, useEffect } from "react";
3
3
  import moment from "moment";
4
- import { c as clsx } from "../../../chunks/vendor-DKrjZZwJ.js";
5
- import { isDateOutOfRange, isDayDisabled } from "../utils.js";
6
- import { WEEKDAYS_SET } from "../../../consts/DateConst.js";
4
+ import { c as clsx } from "../../../chunks/vendor-BtZO8a0z.js";
5
+ import { isDateOutOfRange, isDayDisabled, getFirstEnabledDate, getNavigationShift, shiftDate } from "../utils.js";
6
+ import { WEEKDAYS_SET, WEEKS_SET } from "../../../consts/DateConst.js";
7
7
  import { CalendarViewContext } from "../CalendarViewContext.js";
8
- import { s as styles, C as CalendarViewItem } from "../../../chunks/CalendarViewItem-AChLlz4N.js";
9
- import { isKey } from "../../../utils/keyboard.js";
8
+ import { s as styles, C as CalendarViewItem } from "../../../chunks/CalendarViewItem-RCL-JeQJ.js";
10
9
  import { ECalendarDateMarkType, ECalendarViewMode } from "../enums.js";
11
10
  import { CalendarContext } from "../CalendarContext.js";
11
+ const NAVIGATION_STEPS = {
12
+ horizontal: { amount: 1, unit: "day" },
13
+ vertical: { amount: 1, unit: "week" },
14
+ page: { amount: 1, unit: "month" }
15
+ };
12
16
  const CalendarViewDays = ({ pickedDate, dayHtmlAttributes = {} }) => {
13
17
  const { format, periodId, limitRange, viewDate, markedDays, disabledDays, onDateSelect, onPageChange } = useContext(CalendarContext);
14
18
  const { viewItemFocusedRef } = useContext(CalendarViewContext);
@@ -20,15 +24,9 @@ const CalendarViewDays = ({ pickedDate, dayHtmlAttributes = {} }) => {
20
24
  const getInitialTabbableDate = useCallback(() => {
21
25
  if (pickedDate && pickedDate.isSame(viewDate, "month")) {
22
26
  return pickedDate;
23
- } else {
24
- const date = viewDate.clone().startOf("month");
25
- for (let i = 0; i < date.daysInMonth(); i++) {
26
- date.add(i, "day");
27
- if (!isDisabledDate(date)) {
28
- return date;
29
- }
30
- }
31
27
  }
28
+ const startOfMonth = viewDate.clone().startOf("month");
29
+ return getFirstEnabledDate(startOfMonth, startOfMonth.daysInMonth(), "day", isDisabledDate);
32
30
  }, [pickedDate, viewDate, isDisabledDate]);
33
31
  const [tabbableDate, setTabbableDate] = useState(getInitialTabbableDate());
34
32
  useEffect(() => {
@@ -49,7 +47,7 @@ const CalendarViewDays = ({ pickedDate, dayHtmlAttributes = {} }) => {
49
47
  `calendar-table-header-${header}`
50
48
  )) }) });
51
49
  };
52
- const renderTableBody = () => /* @__PURE__ */ jsx("tbody", { className: styles.calendarViewDaysBody, children: [0, 1, 2, 3, 4, 5].map((row) => /* @__PURE__ */ jsx("tr", { children: [0, 1, 2, 3, 4, 5, 6].map((cell) => renderTableData(row, cell)) }, `calendar-table-row-${row}`)) });
50
+ const renderTableBody = () => /* @__PURE__ */ jsx("tbody", { className: styles.calendarViewDaysBody, children: WEEKS_SET.map((row) => /* @__PURE__ */ jsx("tr", { children: WEEKDAYS_SET.map((cell) => renderTableData(row, cell)) }, `calendar-table-row-${row}`)) });
53
51
  const renderTableData = (row, cell) => {
54
52
  const date = moment(startDate).add(row * 7 + cell, "day");
55
53
  const classNames = clsx({ [styles.current]: isCurrentDate(date) });
@@ -71,7 +69,7 @@ const CalendarViewDays = ({ pickedDate, dayHtmlAttributes = {} }) => {
71
69
  muted,
72
70
  markType,
73
71
  onKeyDown: handleItemKeyDown(date),
74
- onDateSelect: handleDateSelect,
72
+ onDateSelect,
75
73
  children: date.date()
76
74
  },
77
75
  `calendar-table-data-${cell}`
@@ -100,63 +98,40 @@ const CalendarViewDays = ({ pickedDate, dayHtmlAttributes = {} }) => {
100
98
  return ECalendarDateMarkType.BASIC;
101
99
  }
102
100
  } else if (day in markedDays) {
103
- return markedDays[date.format(format)];
101
+ return markedDays[day];
104
102
  }
105
103
  }
106
104
  };
107
- const getShiftedDate = (currentDate, operation, amount, unit) => {
105
+ const getShiftedDate = (currentDate, shift) => {
108
106
  const day = currentDate.clone();
109
- const shiftDay = {
110
- add: moment.fn.add.bind(day),
111
- subtract: moment.fn.subtract.bind(day)
112
- }[operation];
113
- while (shiftDay(amount, unit)) {
107
+ do {
108
+ shiftDate(day, shift);
114
109
  if (isDateOutOfRange(day, limitRange, "day")) {
115
110
  return currentDate;
116
111
  }
117
- if (!isDisabledDate(day)) {
118
- break;
119
- }
120
- }
112
+ } while (isDisabledDate(day));
121
113
  return day;
122
114
  };
123
115
  const handleItemKeyDown = (date) => (event) => {
124
- const key = event.code || event.keyCode;
125
- let nextFocusedDate;
126
- if (isKey(key, "ARROW_RIGHT")) {
127
- nextFocusedDate = getShiftedDate(date, "add", 1, "day");
128
- event.preventDefault();
129
- } else if (isKey(key, "ARROW_LEFT")) {
130
- nextFocusedDate = getShiftedDate(date, "subtract", 1, "day");
131
- event.preventDefault();
132
- } else if (isKey(key, "ARROW_DOWN")) {
133
- nextFocusedDate = getShiftedDate(date, "add", 1, "week");
134
- event.preventDefault();
135
- } else if (isKey(key, "ARROW_UP")) {
136
- nextFocusedDate = getShiftedDate(date, "subtract", 1, "week");
137
- event.preventDefault();
138
- } else if (isKey(key, "PAGE_DOWN")) {
139
- nextFocusedDate = getShiftedDate(date, "add", 1, "month");
140
- event.preventDefault();
141
- } else if (isKey(key, "PAGE_UP")) {
142
- nextFocusedDate = getShiftedDate(date, "subtract", 1, "month");
143
- event.preventDefault();
144
- }
145
- if (nextFocusedDate) {
146
- changeTabbableDate(nextFocusedDate);
116
+ const shift = getNavigationShift(event.code || event.keyCode, NAVIGATION_STEPS);
117
+ if (!shift) {
118
+ return;
147
119
  }
148
- };
149
- const handleDateSelect = (date) => {
150
- onDateSelect(date);
120
+ event.preventDefault();
121
+ changeTabbableDate(getShiftedDate(date, shift));
151
122
  };
152
123
  const changeTabbableDate = (date) => {
153
124
  setTabbableDate(date);
154
125
  if (date.isBefore(viewDate, "month")) {
155
- date = viewDate.clone().subtract(1, "month");
156
- onPageChange(date, ECalendarViewMode.DAYS);
126
+ onPageChange(
127
+ shiftDate(viewDate.clone(), { operation: "subtract", ...NAVIGATION_STEPS.page }),
128
+ ECalendarViewMode.DAYS
129
+ );
157
130
  } else if (date.isAfter(viewDate, "month")) {
158
- date = viewDate.clone().add(1, "month");
159
- onPageChange(date, ECalendarViewMode.DAYS);
131
+ onPageChange(
132
+ shiftDate(viewDate.clone(), { operation: "add", ...NAVIGATION_STEPS.page }),
133
+ ECalendarViewMode.DAYS
134
+ );
160
135
  }
161
136
  };
162
137
  return /* @__PURE__ */ jsxs("table", { className: styles.calendarViewDays, role: "grid", "aria-labelledby": periodId, children: [
@@ -164,6 +139,7 @@ const CalendarViewDays = ({ pickedDate, dayHtmlAttributes = {} }) => {
164
139
  renderTableBody()
165
140
  ] });
166
141
  };
142
+ CalendarViewDays.displayName = "CalendarViewDays";
167
143
  export {
168
144
  CalendarViewDays
169
145
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarViewDays.js","sources":["../../../../src/components/Calendar/components/CalendarViewDays.tsx"],"sourcesContent":["import React, { useState, useEffect, useContext, useCallback } from \"react\";\nimport moment from \"moment\";\nimport clsx from \"clsx\";\nimport { isDateOutOfRange, isDayDisabled } from \"../utils\";\nimport { WEEKDAYS_SET } from \"../../../consts/DateConst\";\nimport { CalendarViewContext } from \"../CalendarViewContext\";\nimport { CalendarViewItem } from \"./CalendarViewItem\";\nimport { isKey } from \"../../../utils/keyboard\";\nimport { ECalendarDateMarkType, ECalendarViewMode } from \"../enums\";\nimport { CalendarContext } from \"../CalendarContext\";\nimport { ICalendarViewProps } from \"../types\";\nimport styles from \"../styles/CalendarView.module.less\";\n\n/** Свойства компонента CalendarViewDays. */\nexport interface ICalendarViewDaysProps extends Omit<\n ICalendarViewProps,\n \"monthHtmlAttributes\" | \"yearHtmlAttributes\"\n> {}\n\n/** Вид календаря с выбором дня. */\nexport const CalendarViewDays: React.FC<ICalendarViewDaysProps> = ({ pickedDate, dayHtmlAttributes = {} }) => {\n const { format, periodId, limitRange, viewDate, markedDays, disabledDays, onDateSelect, onPageChange } =\n useContext(CalendarContext);\n const { viewItemFocusedRef } = useContext(CalendarViewContext);\n const startDate = viewDate.clone().startOf(\"month\").startOf(\"week\");\n\n /** Проверяет, является ли дата отключенной. */\n const isDisabledDate = useCallback(\n (date: moment.Moment) =>\n isDateOutOfRange(date, limitRange, \"day\") || isDayDisabled(date.format(format), disabledDays),\n [limitRange, disabledDays, format],\n );\n\n /** Получить первую доступную для фокуса дату. */\n const getInitialTabbableDate = useCallback(() => {\n if (pickedDate && pickedDate.isSame(viewDate, \"month\")) {\n return pickedDate;\n } else {\n const date = viewDate.clone().startOf(\"month\");\n\n for (let i = 0; i < date.daysInMonth(); i++) {\n date.add(i, \"day\");\n\n if (!isDisabledDate(date)) {\n return date;\n }\n }\n }\n }, [pickedDate, viewDate, isDisabledDate]);\n\n const [tabbableDate, setTabbableDate] = useState(getInitialTabbableDate());\n\n useEffect(() => {\n if (!viewItemFocusedRef.current) {\n setTabbableDate(getInitialTabbableDate());\n }\n }, [viewDate, viewItemFocusedRef, getInitialTabbableDate]);\n\n /** Рендер заголовка таблицы. */\n const renderTableHead = () => {\n const weekdays = moment.weekdays(true);\n const weekdaysMin = moment.weekdaysMin(true);\n\n return (\n <thead>\n <tr>\n {WEEKDAYS_SET.map((header) => (\n <th\n key={`calendar-table-header-${header}`}\n className={styles.calendarViewDaysHeader}\n abbr={weekdays[header]}\n >\n {weekdaysMin[header]}\n </th>\n ))}\n </tr>\n </thead>\n );\n };\n\n /** Рендер тела таблицы. */\n const renderTableBody = () => (\n <tbody className={styles.calendarViewDaysBody}>\n {[0, 1, 2, 3, 4, 5].map((row) => (\n <tr key={`calendar-table-row-${row}`}>\n {[0, 1, 2, 3, 4, 5, 6].map((cell) => renderTableData(row, cell))}\n </tr>\n ))}\n </tbody>\n );\n\n /** Рендер ячейки таблицы. */\n const renderTableData = (row: number, cell: number) => {\n const date = moment(startDate).add(row * 7 + cell, \"day\");\n const classNames = clsx({ [styles.current]: isCurrentDate(date) });\n const active = isActiveDate(date);\n const disabled = isDisabledDate(date);\n const tabbable = !disabled && isTabbableDay(date);\n const muted = isMutedDate(date);\n const markType = getMarkType(date);\n\n return (\n <CalendarViewItem\n key={`calendar-table-data-${cell}`}\n className={classNames}\n {...(typeof dayHtmlAttributes === \"function\"\n ? dayHtmlAttributes({ marked: markType !== undefined })\n : dayHtmlAttributes)}\n date={date}\n unit=\"day\"\n active={active}\n disabled={disabled}\n tabbable={tabbable}\n muted={muted}\n markType={markType}\n onKeyDown={handleItemKeyDown(date)}\n onDateSelect={handleDateSelect}\n >\n {date.date()}\n </CalendarViewItem>\n );\n };\n\n /** Проверяет, может ли дата получить фокус при навигации. */\n const isTabbableDay = (date: moment.Moment) => {\n if (tabbableDate) {\n return date.isSame(tabbableDate, \"day\");\n }\n\n return false;\n };\n\n /** Проверяет, относится ли дата к текущему месяцу. */\n const isMutedDate = (date: moment.Moment) => {\n return !date.isSame(viewDate, \"month\");\n };\n\n /** Проверяет, является ли дата сегодняшней. */\n const isCurrentDate = (date: moment.Moment) => {\n return date.isSame(moment(), \"day\");\n };\n\n /** Проверяет, является ли дата активной. */\n const isActiveDate = (date: moment.Moment) => {\n return !!pickedDate && date.isSame(pickedDate, \"day\");\n };\n\n /** Проверяет, является ли дата отмеченной. */\n const getMarkType = (date: moment.Moment) => {\n if (markedDays) {\n const day = date.format(format);\n\n if (Array.isArray(markedDays)) {\n if (markedDays.includes(day)) {\n return ECalendarDateMarkType.BASIC;\n }\n } else if (day in markedDays) {\n return markedDays[date.format(format)];\n }\n }\n };\n\n /** Возвращает доступную для выбора дату после сдвига. */\n const getShiftedDate = (\n currentDate: moment.Moment,\n operation: \"add\" | \"subtract\",\n amount: number,\n unit: \"day\" | \"week\" | \"month\",\n ) => {\n const day = currentDate.clone();\n const shiftDay = {\n add: moment.fn.add.bind(day),\n subtract: moment.fn.subtract.bind(day),\n }[operation];\n\n while (shiftDay(amount, unit)) {\n // Если вышли за пределы доступного периода – возвращаем текущий день.\n if (isDateOutOfRange(day, limitRange, \"day\")) {\n return currentDate;\n }\n // Если день доступен для выбора – выходим из поиска.\n if (!isDisabledDate(day)) {\n break;\n }\n }\n\n return day;\n };\n\n /** Обработчик нажатия клавиши CalendarViewItem. */\n const handleItemKeyDown = (date: moment.Moment) => (event: React.KeyboardEvent<HTMLTableCellElement>) => {\n const key = event.code || event.keyCode;\n let nextFocusedDate;\n\n if (isKey(key, \"ARROW_RIGHT\")) {\n nextFocusedDate = getShiftedDate(date, \"add\", 1, \"day\");\n event.preventDefault();\n } else if (isKey(key, \"ARROW_LEFT\")) {\n nextFocusedDate = getShiftedDate(date, \"subtract\", 1, \"day\");\n event.preventDefault();\n } else if (isKey(key, \"ARROW_DOWN\")) {\n nextFocusedDate = getShiftedDate(date, \"add\", 1, \"week\");\n event.preventDefault();\n } else if (isKey(key, \"ARROW_UP\")) {\n nextFocusedDate = getShiftedDate(date, \"subtract\", 1, \"week\");\n event.preventDefault();\n } else if (isKey(key, \"PAGE_DOWN\")) {\n nextFocusedDate = getShiftedDate(date, \"add\", 1, \"month\");\n event.preventDefault();\n } else if (isKey(key, \"PAGE_UP\")) {\n nextFocusedDate = getShiftedDate(date, \"subtract\", 1, \"month\");\n event.preventDefault();\n }\n\n if (nextFocusedDate) {\n changeTabbableDate(nextFocusedDate);\n }\n };\n\n /** Обработчик клика по дате. */\n const handleDateSelect = (date: moment.Moment) => {\n onDateSelect(date);\n };\n\n /** Изменение фокусируемой даты. */\n const changeTabbableDate = (date: moment.Moment) => {\n setTabbableDate(date);\n\n if (date.isBefore(viewDate, \"month\")) {\n date = viewDate.clone().subtract(1, \"month\");\n onPageChange(date, ECalendarViewMode.DAYS);\n } else if (date.isAfter(viewDate, \"month\")) {\n date = viewDate.clone().add(1, \"month\");\n onPageChange(date, ECalendarViewMode.DAYS);\n }\n };\n\n return (\n <table className={styles.calendarViewDays} role=\"grid\" aria-labelledby={periodId}>\n {renderTableHead()}\n {renderTableBody()}\n </table>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CalendarViewDays.js","sources":["../../../../src/components/Calendar/components/CalendarViewDays.tsx"],"sourcesContent":["import React, { useState, useEffect, useContext, useCallback } from \"react\";\nimport moment from \"moment\";\nimport clsx from \"clsx\";\nimport {\n ICalendarNavigationShift,\n ICalendarNavigationSteps,\n getFirstEnabledDate,\n getNavigationShift,\n isDateOutOfRange,\n isDayDisabled,\n shiftDate,\n} from \"../utils\";\nimport { WEEKDAYS_SET, WEEKS_SET } from \"../../../consts/DateConst\";\nimport { CalendarViewContext } from \"../CalendarViewContext\";\nimport { CalendarViewItem } from \"./CalendarViewItem\";\nimport { ECalendarDateMarkType, ECalendarViewMode } from \"../enums\";\nimport { CalendarContext } from \"../CalendarContext\";\nimport { ICalendarViewProps } from \"../types\";\nimport styles from \"../styles/CalendarView.module.less\";\n\n/** Свойства компонента CalendarViewDays. */\nexport interface ICalendarViewDaysProps extends Omit<\n ICalendarViewProps,\n \"monthHtmlAttributes\" | \"yearHtmlAttributes\"\n> {}\n\n/** Величины сдвига даты при клавиатурной навигации по сетке дней. */\nconst NAVIGATION_STEPS: ICalendarNavigationSteps = {\n horizontal: { amount: 1, unit: \"day\" },\n vertical: { amount: 1, unit: \"week\" },\n page: { amount: 1, unit: \"month\" },\n};\n\n/** Вид календаря с выбором дня. */\nexport const CalendarViewDays: React.FC<ICalendarViewDaysProps> = ({ pickedDate, dayHtmlAttributes = {} }) => {\n const { format, periodId, limitRange, viewDate, markedDays, disabledDays, onDateSelect, onPageChange } =\n useContext(CalendarContext);\n const { viewItemFocusedRef } = useContext(CalendarViewContext);\n const startDate = viewDate.clone().startOf(\"month\").startOf(\"week\");\n\n /** Проверяет, является ли дата отключенной. */\n const isDisabledDate = useCallback(\n (date: moment.Moment) =>\n isDateOutOfRange(date, limitRange, \"day\") || isDayDisabled(date.format(format), disabledDays),\n [limitRange, disabledDays, format],\n );\n\n /** Получить первую доступную для фокуса дату. */\n const getInitialTabbableDate = useCallback(() => {\n if (pickedDate && pickedDate.isSame(viewDate, \"month\")) {\n return pickedDate;\n }\n\n const startOfMonth = viewDate.clone().startOf(\"month\");\n\n return getFirstEnabledDate(startOfMonth, startOfMonth.daysInMonth(), \"day\", isDisabledDate);\n }, [pickedDate, viewDate, isDisabledDate]);\n\n const [tabbableDate, setTabbableDate] = useState(getInitialTabbableDate());\n\n useEffect(() => {\n if (!viewItemFocusedRef.current) {\n setTabbableDate(getInitialTabbableDate());\n }\n }, [viewDate, viewItemFocusedRef, getInitialTabbableDate]);\n\n /** Рендер заголовка таблицы. */\n const renderTableHead = () => {\n const weekdays = moment.weekdays(true);\n const weekdaysMin = moment.weekdaysMin(true);\n\n return (\n <thead>\n <tr>\n {WEEKDAYS_SET.map((header) => (\n <th\n key={`calendar-table-header-${header}`}\n className={styles.calendarViewDaysHeader}\n abbr={weekdays[header]}\n >\n {weekdaysMin[header]}\n </th>\n ))}\n </tr>\n </thead>\n );\n };\n\n /** Рендер тела таблицы. */\n const renderTableBody = () => (\n <tbody className={styles.calendarViewDaysBody}>\n {WEEKS_SET.map((row) => (\n <tr key={`calendar-table-row-${row}`}>{WEEKDAYS_SET.map((cell) => renderTableData(row, cell))}</tr>\n ))}\n </tbody>\n );\n\n /** Рендер ячейки таблицы. */\n const renderTableData = (row: number, cell: number) => {\n const date = moment(startDate).add(row * 7 + cell, \"day\");\n const classNames = clsx({ [styles.current]: isCurrentDate(date) });\n const active = isActiveDate(date);\n const disabled = isDisabledDate(date);\n const tabbable = !disabled && isTabbableDay(date);\n const muted = isMutedDate(date);\n const markType = getMarkType(date);\n\n return (\n <CalendarViewItem\n key={`calendar-table-data-${cell}`}\n className={classNames}\n {...(typeof dayHtmlAttributes === \"function\"\n ? dayHtmlAttributes({ marked: markType !== undefined })\n : dayHtmlAttributes)}\n date={date}\n unit=\"day\"\n active={active}\n disabled={disabled}\n tabbable={tabbable}\n muted={muted}\n markType={markType}\n onKeyDown={handleItemKeyDown(date)}\n onDateSelect={onDateSelect}\n >\n {date.date()}\n </CalendarViewItem>\n );\n };\n\n /** Проверяет, может ли дата получить фокус при навигации. */\n const isTabbableDay = (date: moment.Moment) => {\n if (tabbableDate) {\n return date.isSame(tabbableDate, \"day\");\n }\n\n return false;\n };\n\n /** Проверяет, относится ли дата к текущему месяцу. */\n const isMutedDate = (date: moment.Moment) => {\n return !date.isSame(viewDate, \"month\");\n };\n\n /** Проверяет, является ли дата сегодняшней. */\n const isCurrentDate = (date: moment.Moment) => {\n return date.isSame(moment(), \"day\");\n };\n\n /** Проверяет, является ли дата активной. */\n const isActiveDate = (date: moment.Moment) => {\n return !!pickedDate && date.isSame(pickedDate, \"day\");\n };\n\n /** Проверяет, является ли дата отмеченной. */\n const getMarkType = (date: moment.Moment) => {\n if (markedDays) {\n const day = date.format(format);\n\n if (Array.isArray(markedDays)) {\n if (markedDays.includes(day)) {\n return ECalendarDateMarkType.BASIC;\n }\n } else if (day in markedDays) {\n return markedDays[day];\n }\n }\n };\n\n /** Возвращает доступную для выбора дату после сдвига. Недоступные дни пропускаются. */\n const getShiftedDate = (currentDate: moment.Moment, shift: ICalendarNavigationShift) => {\n const day = currentDate.clone();\n\n do {\n shiftDate(day, shift);\n\n // Если вышли за пределы доступного периода – возвращаем текущий день.\n if (isDateOutOfRange(day, limitRange, \"day\")) {\n return currentDate;\n }\n // Если день недоступен для выбора – продолжаем поиск в том же направлении.\n } while (isDisabledDate(day));\n\n return day;\n };\n\n /** Обработчик нажатия клавиши CalendarViewItem. */\n const handleItemKeyDown = (date: moment.Moment) => (event: React.KeyboardEvent<HTMLTableCellElement>) => {\n const shift = getNavigationShift(event.code || event.keyCode, NAVIGATION_STEPS);\n\n if (!shift) {\n return;\n }\n\n event.preventDefault();\n changeTabbableDate(getShiftedDate(date, shift));\n };\n\n /** Изменение фокусируемой даты. При уходе даты за пределы страницы перелистывает страницу на шаг NAVIGATION_STEPS.page. */\n const changeTabbableDate = (date: moment.Moment) => {\n setTabbableDate(date);\n\n if (date.isBefore(viewDate, \"month\")) {\n onPageChange(\n shiftDate(viewDate.clone(), { operation: \"subtract\", ...NAVIGATION_STEPS.page }),\n ECalendarViewMode.DAYS,\n );\n } else if (date.isAfter(viewDate, \"month\")) {\n onPageChange(\n shiftDate(viewDate.clone(), { operation: \"add\", ...NAVIGATION_STEPS.page }),\n ECalendarViewMode.DAYS,\n );\n }\n };\n\n return (\n <table className={styles.calendarViewDays} role=\"grid\" aria-labelledby={periodId}>\n {renderTableHead()}\n {renderTableBody()}\n </table>\n );\n};\n\nCalendarViewDays.displayName = \"CalendarViewDays\";\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import "../../../chunks/vendor-DKrjZZwJ.js";
3
+ import "../../../chunks/vendor-BtZO8a0z.js";
4
4
  import "../enums.js";
5
5
  import "../CalendarViewContext.js";
6
6
  import "../../../utils/keyboard.js";
7
- import { C } from "../../../chunks/CalendarViewItem-AChLlz4N.js";
7
+ import { C } from "../../../chunks/CalendarViewItem-RCL-JeQJ.js";
8
8
  export {
9
9
  C as CalendarViewItem
10
10
  };