@ryuzaki13/react-foundation-ui 1.8.19 → 1.9.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.
- package/dist/chunks/{CalendarView-BJx6akIp.js → CalendarView-j6rF-EWR.js} +82 -87
- package/dist/chunks/CalendarView-j6rF-EWR.js.map +1 -0
- package/dist/chunks/date-input-B4n6tceY.js +374 -0
- package/dist/chunks/date-input-B4n6tceY.js.map +1 -0
- package/dist/date-input/index.js +3 -3
- package/dist/date-input/lib/dateInputCalendar.d.ts +0 -1
- package/dist/date-input/lib/dateInputCalendar.d.ts.map +1 -1
- package/dist/date-input/lib/dateInputSelectionModes.d.ts +28 -0
- package/dist/date-input/lib/dateInputSelectionModes.d.ts.map +1 -0
- package/dist/date-input/lib/index.d.ts +1 -0
- package/dist/date-input/lib/index.d.ts.map +1 -1
- package/dist/date-input/lib/types.d.ts +4 -0
- package/dist/date-input/lib/types.d.ts.map +1 -1
- package/dist/date-input/ui/DateInput.d.ts +6 -1
- package/dist/date-input/ui/DateInput.d.ts.map +1 -1
- package/dist/date-time-input/index.js +1 -1
- package/dist/preset-range-date-input/index.js +1 -1
- package/package.json +1 -1
- package/storybook-static/assets/{Badge-CAM2jkFm.js → Badge-BdiEdu3X.js} +1 -1
- package/storybook-static/assets/{Badge.stories-DRjjmR32.js → Badge.stories-BBlMEKKX.js} +1 -1
- package/storybook-static/assets/{BadgeList-D4Swhp3V.js → BadgeList-DHXNitzx.js} +1 -1
- package/storybook-static/assets/{Button-4YB5_DwT.js → Button-B5mHumU3.js} +1 -1
- package/storybook-static/assets/{Button-1UZNz2k4.js → Button-BRUTThZH.js} +1 -1
- package/storybook-static/assets/{Button.stories-B0sdwFqZ.js → Button.stories-CtVoHZDd.js} +1 -1
- package/storybook-static/assets/CalendarView-9vjui-A9.js +1 -0
- package/storybook-static/assets/{CheckBox-BdGaGy4_.js → CheckBox-Bpb5rOM2.js} +1 -1
- package/storybook-static/assets/{CheckBox-Cpt5rjSg.js → CheckBox-DOwmpgu4.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-6d6-rkNo.js → CheckBox.stories-Bq4FvTOe.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-sKBB2RBT.js → Color-6AOWCN3U-CdTnOOMs.js} +1 -1
- package/storybook-static/assets/{ContextMenu-BLnt5p2W.js → ContextMenu-Bv-YVzbh.js} +1 -1
- package/storybook-static/assets/{ContextMenu-B155_m2F.js → ContextMenu-vPJ8-UVA.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-B8sv4v3Q.js → ContextMenu.stories-BC8gxAbT.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-hKfsqWNH.js → CustomOptionButton-CXPoWAC9.js} +1 -1
- package/storybook-static/assets/{DateInput-DvIl6s-f.js → DateInput-CWlAW7Ie.js} +1 -1
- package/storybook-static/assets/DateInput-DaTdvZ9c.js +1 -0
- package/storybook-static/assets/DateInput.stories-if3hOb9H.js +121 -0
- package/storybook-static/assets/{DateRangePresetSelect-BCLZcXdv.js → DateRangePresetSelect-BDR0ZE-d.js} +1 -1
- package/storybook-static/assets/DateRangePresetSelect-Bn63CxTl.js +3 -0
- package/storybook-static/assets/{DateRangePresetSelect.stories-D8zuTlHo.js → DateRangePresetSelect.stories-DWxkSAE1.js} +1 -1
- package/storybook-static/assets/{Detail-Ct95dA1k.js → Detail-Cc8B_cbH.js} +1 -1
- package/storybook-static/assets/{Detail.stories-Chedt7EX.js → Detail.stories-re1F74In.js} +1 -1
- package/storybook-static/assets/{Dialog-BX3QZOnt.js → Dialog-CRh6y7YF.js} +1 -1
- package/storybook-static/assets/{Dialog-C7Duw0PA.js → Dialog-CkT3w8Tz.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-J0w0R0Db.js → Dialog.stories-BwuXGfri.js} +1 -1
- package/storybook-static/assets/{Disclosure-BzlV54RK.js → Disclosure-M__BDUDu.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-z7gnOr5h.js → Disclosure.stories-CqQQe2YZ.js} +1 -1
- package/storybook-static/assets/{DisclosureGroup-c179TOi5.js → DisclosureGroup-f-4zp0ps.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-Ba9N3QAD.js → DocsRenderer-JROSPFPF-D8q-dgQB.js} +1 -1
- package/storybook-static/assets/{DropZone-D5X0oV8O.js → DropZone-C__isXrZ.js} +1 -1
- package/storybook-static/assets/{DropZone-vxUU2p-k.js → DropZone-DFSvHjLA.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-iNXgESGM.js → DropZone.stories-CeQUhopO.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-CJlpP3HB.js → DropdownMenu-DEhxHl0U.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-CmkEByID.js → ExpandableActionPanel-CqLgcklx.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-DmRLaVxn.js → ExpandableActionPanel.stories-DxBFS6no.js} +1 -1
- package/storybook-static/assets/{Flex-tVAYZ-nU.js → Flex-CDgo5pNt.js} +1 -1
- package/storybook-static/assets/{Flex.stories-CVYDcbvw.js → Flex.stories-CJO_64A3.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-DMTLPzR3.js → FloatingPopover-D9zppnn5.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-DP6-D86D.js → FormattedTableCell-rZ8kctY-.js} +1 -1
- package/storybook-static/assets/{Grid-Vm-amT-a.js → Grid-C3nthJLr.js} +1 -1
- package/storybook-static/assets/{Grid.stories-B0beH9CK.js → Grid.stories-Dm-B_m-Z.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-Dt-IA4EB.js → ImageCropper.stories-Bel8XXCC.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-DudkQ-3G.js → ImageRenderer-8X4aePCm.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-CNeSiXkj.js → ImageRenderer.stories-rakzIJeM.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-DMtpy--X.js → ImageView.stories-BngnteYS.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-BkoV0li4.js → ImageViewer.stories-D6EfVS78.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-BLgQCsSL.js → ImageViewerRuntime-B9fSNH2J.js} +1 -1
- package/storybook-static/assets/{Input-WhTMStKL.js → Input-BDLSUyRg.js} +1 -1
- package/storybook-static/assets/{Input-MPCFEMQm.js → Input-CqM32-9V.js} +1 -1
- package/storybook-static/assets/{Input.stories-B50KKSiz.js → Input.stories-C_A4MaI3.js} +1 -1
- package/storybook-static/assets/{InputDateTime-1zTFbNEF.js → InputDateTime-92L9Mqna.js} +1 -1
- package/storybook-static/assets/InputDateTime.stories-ejRQiayx.js +30 -0
- package/storybook-static/assets/{InputFile-DYHuD6B8.js → InputFile-BR48hRH2.js} +1 -1
- package/storybook-static/assets/{InputFile-B3QB0SLD.js → InputFile-D0Ea1tHj.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-B-hrCtm_.js → InputFile.stories-Cvlw95nu.js} +1 -1
- package/storybook-static/assets/{InputFiles-CPPAJxgC.js → InputFiles-D2okuEQ-.js} +1 -1
- package/storybook-static/assets/{InputFiles-Dpa2BiyZ.js → InputFiles-DlkPD_x4.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-1ocz2wNw.js → InputFiles.stories-DUgyxezy.js} +1 -1
- package/storybook-static/assets/{InputFilesList-D2Ro-1Hm.js → InputFilesList-Ddy39MYy.js} +1 -1
- package/storybook-static/assets/{InputImage-BDC2lyVo.js → InputImage-DPV4mZz8.js} +1 -1
- package/storybook-static/assets/{InputImage-DPmkvGcl.js → InputImage-qtuAX13r.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-D3hWZBtn.js → InputImage.stories-C-SFhxE6.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-Djz3CtkU.js → InteractiveComponents-CSwd2lr5.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-CJ2VWPLD.js → InteractiveComponents.stories-DYrXXpQP.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-BFShZhhi.js → LayoutPicker-CGV2Oqmj.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-CMMEs83d.js → LayoutPicker-eOc5SXGR.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-Cdb_UnBI.js → LayoutPicker.stories-okRllC5n.js} +1 -1
- package/storybook-static/assets/{Listbox-B7nZijLJ.js → Listbox-Br9uGogi.js} +1 -1
- package/storybook-static/assets/{Listbox-DM1vuGVD.js → Listbox-Mh0MABSb.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-DTs-ANe9.js → Listbox.stories-zUU9z46B.js} +1 -1
- package/storybook-static/assets/{Modal-D0dkB7lh.js → Modal-Cj-Ow00n.js} +1 -1
- package/storybook-static/assets/{Modal.stories-BOh10Fkn.js → Modal.stories-BxT21M2R.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-CEEmviJU.js → ModalManagerProvider-DpQxs9eQ.js} +1 -1
- package/storybook-static/assets/{MultiSelect-CbrRNOEZ.js → MultiSelect-BDfeA4b0.js} +1 -1
- package/storybook-static/assets/{MultiSelect-oJhMsKuC.js → MultiSelect-Cb-HPsri.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-mLWhd-au.js → MultiSelect.stories-D-YS-6OI.js} +1 -1
- package/storybook-static/assets/{NoData-C7Kj62Zk.js → NoData-ImBI0Hv6.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-D_i7EsJA.js → NotificationsHost-BliKo_02.js} +1 -1
- package/storybook-static/assets/NotificationsHost.stories--TTbnnBF.js +29 -0
- package/storybook-static/assets/{ODataMultiSelect-B6hKhD2q.js → ODataMultiSelect-CcDSzbIX.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-BO7WaR9I.js → ODataMultiSelect.stories-BGON1kcj.js} +1 -1
- package/storybook-static/assets/{ODataSelect-BW8S-U91.js → ODataSelect-BT_lo66n.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-rVZ8RYIu.js → ODataSelect.stories-B6TVTSPG.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-BhvUurca.js → ODataTreeMultiSelect-BixVdzv4.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-CM8wiVsI.js → ODataTreeMultiSelect.stories-BRFGx0jL.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-B96PJWcL.js → ODataTreeSelect-UCvRNTLZ.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-HHLJZrD8.js → ODataTreeSelect.stories-54VnROAp.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-DzrN3WVZ.js → OneStepScroller-CkfGyrJX.js} +1 -1
- package/storybook-static/assets/{Option-BwWLsS-Q.js → Option-BeKIvBIk.js} +1 -1
- package/storybook-static/assets/{OptionButton-CdYqQAwC.js → OptionButton-Bqx2W-q_.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-_GvgXTKk.js → PeriodSelect-BsiqeAmw.js} +1 -1
- package/storybook-static/assets/PeriodSelect-BtIqHisX.js +5 -0
- package/storybook-static/assets/{PeriodSelect.stories-CGNmEIBG.js → PeriodSelect.stories-0SkuLb9d.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-apA_Ruie.js → PickerTriggerActions-DKa2kW7b.js} +1 -1
- package/storybook-static/assets/{Popover-CDeopGLJ.js → Popover-CQY1gjtg.js} +1 -1
- package/storybook-static/assets/{Popover-BYGM8Bjj.js → Popover-DdTT_axF.js} +1 -1
- package/storybook-static/assets/{Popover.stories-DTeZeyAB.js → Popover.stories-jZhqI65s.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-BdFjz9Ed.js → PresetRangeDateInput-DqdQb2uL.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-D3FBpZqV.js → PresetRangeDateInput-OipniP2I.js} +1 -1
- package/storybook-static/assets/PresetRangeDateInput.stories-CTOW-jxq.js +3 -0
- package/storybook-static/assets/PresetSelect-C2L55zt0.js +5 -0
- package/storybook-static/assets/{README-B5QVQmyU.js → README-1ts4pZ40.js} +1 -1
- package/storybook-static/assets/{README-1tFUbU_N.js → README-4iQkemCY.js} +1 -1
- package/storybook-static/assets/{README-BTp9nnLv.js → README-8wArWW60.js} +1 -1
- package/storybook-static/assets/{README-CuYqzgi0.js → README-B0VIX1Xl.js} +1 -1
- package/storybook-static/assets/{README-C_uOxFAl.js → README-B3Clzlvu.js} +1 -1
- package/storybook-static/assets/{README-CBhnA3Kz.js → README-B3sPVnOE.js} +1 -1
- package/storybook-static/assets/{README-n3wmMhlD.js → README-BPfV8W9d.js} +1 -1
- package/storybook-static/assets/{README-bhX-QiSo.js → README-BRe8A9eI.js} +1 -1
- package/storybook-static/assets/{README-HhDoM8Gq.js → README-BYLYAHQU.js} +1 -1
- package/storybook-static/assets/{README-C8K3rQpu.js → README-BcYYGr5T.js} +1 -1
- package/storybook-static/assets/{README-Dq0P8Ach.js → README-BdrVbLE_.js} +1 -1
- package/storybook-static/assets/{README-m0xvi4o1.js → README-BeJ7F8ya.js} +1 -1
- package/storybook-static/assets/{README-B8dyxeZz.js → README-BgTr2m0r.js} +1 -1
- package/storybook-static/assets/{README-g3WhSoX3.js → README-Bghuw4xh.js} +1 -1
- package/storybook-static/assets/{README-DldTDL_-.js → README-BjeYppkt.js} +1 -1
- package/storybook-static/assets/{README-eqGIA1ao.js → README-Bky95mjX.js} +1 -1
- package/storybook-static/assets/{README-OGP9mnSD.js → README-BqEEzTrM.js} +1 -1
- package/storybook-static/assets/{README-C2rr_CMA.js → README-C-YkymJ5.js} +1 -1
- package/storybook-static/assets/{README-DNDYDuQ4.js → README-C2qgf9R6.js} +1 -1
- package/storybook-static/assets/{README-BSrGqFaw.js → README-C6M0Rol8.js} +1 -1
- package/storybook-static/assets/{README-DLBEUtiL.js → README-CAwFoCOE.js} +1 -1
- package/storybook-static/assets/{README-CvrH-776.js → README-CAxxVPk8.js} +1 -1
- package/storybook-static/assets/{README-fLJ5n8A8.js → README-CCB-uZ8s.js} +1 -1
- package/storybook-static/assets/{README-Bv9s5Hlv.js → README-CJvZ27X8.js} +1 -1
- package/storybook-static/assets/{README-NwNz8xro.js → README-CNwm447z.js} +1 -1
- package/storybook-static/assets/{README-CxsAd0Iq.js → README-CPveHb_v.js} +1 -1
- package/storybook-static/assets/{README-Br9h1slQ.js → README-CS7WQBvL.js} +1 -1
- package/storybook-static/assets/{README-z2leBvSk.js → README-CYOE6et3.js} +1 -1
- package/storybook-static/assets/{README-DHJwCm5f.js → README-Cgp-ece7.js} +1 -1
- package/storybook-static/assets/{README-VwNH_K60.js → README-ChqcviHm.js} +1 -1
- package/storybook-static/assets/{README-Cuj7DFn9.js → README-CqEjYaCY.js} +1 -1
- package/storybook-static/assets/{README-Dju2IqV_.js → README-Csbh_2gB.js} +1 -1
- package/storybook-static/assets/{README-mXAkjKF0.js → README-Ct695emV.js} +1 -1
- package/storybook-static/assets/{README-DYKVnI5h.js → README-CwQXFeiK.js} +1 -1
- package/storybook-static/assets/{README-Se6780nc.js → README-CymBtyk-.js} +1 -1
- package/storybook-static/assets/{README-DGTIYOSH.js → README-D4rXs7IY.js} +1 -1
- package/storybook-static/assets/{README-GstpCBI6.js → README-D7p9ZEE8.js} +1 -1
- package/storybook-static/assets/{README-Bht25HeR.js → README-DDIGs5FV.js} +1 -1
- package/storybook-static/assets/{README-BtPehMeb.js → README-DGPDttIF.js} +1 -1
- package/storybook-static/assets/{README-CeuRBAf6.js → README-DK32zRi9.js} +1 -1
- package/storybook-static/assets/{README-9flk-o3B.js → README-DZaEpUZo.js} +1 -1
- package/storybook-static/assets/{README-I0-Ly9-N.js → README-DahT1clt.js} +1 -1
- package/storybook-static/assets/{README-DcJ05Rnh.js → README-Djr0kn_c.js} +1 -1
- package/storybook-static/assets/{README-DQSMXoRa.js → README-Dy57h6rC.js} +1 -1
- package/storybook-static/assets/{README-BRnZl0of.js → README-H0WY3yYQ.js} +1 -1
- package/storybook-static/assets/{README-BUkpxX-E.js → README-Nx5uZoe7.js} +1 -1
- package/storybook-static/assets/{README-_aVIdcMd.js → README-QX5i3QAl.js} +1 -1
- package/storybook-static/assets/{README-DZmDqmSd.js → README-hMP4GXT8.js} +1 -1
- package/storybook-static/assets/{README-Chc7eGGc.js → README-pvPRMGSJ.js} +1 -1
- package/storybook-static/assets/{README-BJEbnNWP.js → README-tppL5ecv.js} +1 -1
- package/storybook-static/assets/{README-Cl2jxLna.js → README-uUB7TAeH.js} +1 -1
- package/storybook-static/assets/{README-DSsqg62x.js → README-wbQq3fFQ.js} +1 -1
- package/storybook-static/assets/{RadioButton-JEqzXOJN.js → RadioButton-DUd4aKQn.js} +1 -1
- package/storybook-static/assets/{RadioButton-DqEZ3dh2.js → RadioButton-qsIX84d0.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-CzIM9dix.js → RadioButton.stories-D0zad2lq.js} +1 -1
- package/storybook-static/assets/{RadioGroup-COIsrK0r.js → RadioGroup-Cw14BgsE.js} +1 -1
- package/storybook-static/assets/{RadioGroup-D4EHkLTb.js → RadioGroup-DmG5QMQ9.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-BdAv58pJ.js → RadioGroup.stories-z1TGty8R.js} +1 -1
- package/storybook-static/assets/{Scrollable-noVIQseX.js → Scrollable-qQFF0nas.js} +1 -1
- package/storybook-static/assets/{Select-DgPcfbEp.js → Select-BSYhoWB3.js} +1 -1
- package/storybook-static/assets/{Select-9v7A23y8.js → Select-Dm8oWRkH.js} +1 -1
- package/storybook-static/assets/{Select.stories-yIRnlqrF.js → Select.stories-B4dbfZL4.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CnPwQtgN.js → SerializableSelect-D3pqtaZ-.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-9QxpRX-K.js → SerializableSelect.stories-DoQUJ2qN.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-DBrfgnnn.js → SingleDateTimeInput-fC4akHMV.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-CxKz7tUP.js → SingleDateTimeInput-tDOK3NEI.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-lOLyuR7U.js → SingleDateTimeInput.stories-DJyIL1_5.js} +1 -1
- package/storybook-static/assets/{Slider-KC0hs5nY.js → Slider-2fU9KS2a.js} +1 -1
- package/storybook-static/assets/{Slider-Cn1YHOVt.js → Slider-hMTRxUyp.js} +1 -1
- package/storybook-static/assets/{Slider.stories-C-IjisOs.js → Slider.stories-mEEEJYzv.js} +1 -1
- package/storybook-static/assets/{SliderInput-Bz4D-xc3.js → SliderInput-BKpG69HS.js} +1 -1
- package/storybook-static/assets/{SliderInput-BVDFbjAz.js → SliderInput-BdUv_9U6.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-SlhRnTWN.js → SliderInput.stories-kaRIf1Q_.js} +1 -1
- package/storybook-static/assets/{Sortable-d-UOB6NI.js → Sortable-BiOdJGGW.js} +1 -1
- package/storybook-static/assets/Sortable.stories-BFnb_E1K.js +44 -0
- package/storybook-static/assets/{Splitter-t2bV_zrF.js → Splitter-P-gipnDD.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-CTTTfgXu.js → Splitter.stories-CmPV58QG.js} +1 -1
- package/storybook-static/assets/{StateSelect-CR5WR-IW.js → StateSelect-Baf6fFgF.js} +1 -1
- package/storybook-static/assets/{StateSelect-CX7Xf-aX.js → StateSelect-FkOhrCr9.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-3KkvmQ80.js → StateSelect.stories-Bjm6ViKF.js} +1 -1
- package/storybook-static/assets/StringToggle.stories-DnIMcTnQ.js +3 -0
- package/storybook-static/assets/{Switch-DB4EZ32N.js → Switch-BJlzRnGw.js} +1 -1
- package/storybook-static/assets/{Switch-Deae3h9G.js → Switch-mXvV4t1H.js} +1 -1
- package/storybook-static/assets/{Switch.stories-CZxayDtX.js → Switch.stories-DJZIDERM.js} +1 -1
- package/storybook-static/assets/{Table-CrxyY7zt.js → Table-K7vWFWG8.js} +1 -1
- package/storybook-static/assets/Table.stories-xjQmGz84.js +178 -0
- package/storybook-static/assets/{Tabs-L4LxDqx4.js → Tabs-CFUVKIYw.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-C4XMXjqd.js → Tabs.stories-BkFpMlaH.js} +1 -1
- package/storybook-static/assets/{TabsBox-Bnvm4jMi.js → TabsBox-sGh3mFuh.js} +1 -1
- package/storybook-static/assets/{TagInput-DW0JzYQ3.js → TagInput-MMc3kCmm.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-zF7cV7Cp.js → TagInput.stories-CXbk7JvC.js} +1 -1
- package/storybook-static/assets/{Text-ByhnRSgp.js → Text-D5ufzjYF.js} +1 -1
- package/storybook-static/assets/{Textarea-BySrQxab.js → Textarea-CAw638rV.js} +1 -1
- package/storybook-static/assets/{Textarea-WtjTIiyq.js → Textarea-u0pGVMAg.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-jFSqX_4h.js → Textarea.stories-UCnx8Jlm.js} +1 -1
- package/storybook-static/assets/{TimePanel-B-rvi-xm.js → TimePanel-4-p_MbKh.js} +1 -1
- package/storybook-static/assets/TimePanel.stories-CJahZ6UZ.js +10 -0
- package/storybook-static/assets/{Toggle-BfRh792z.js → Toggle-BGSrHL11.js} +1 -1
- package/storybook-static/assets/{Toggle-BkglFvBx.js → Toggle-BYqoCrdS.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-BonTJbH-.js → Toggle.stories-DVbuGhF4.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-7E1j6lHT.js → TreeMultiSelect-Cwco4INR.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-CKr7kx7s.js → TreeMultiSelect-DWzF3hw_.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-DQ9N-EPu.js → TreeMultiSelect.stories-DMPaVgUx.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-DwoQyBMk.js → TreePickerBase-BJjZsULU.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BLc7zLho.js → TreeSelect-BHiWw9pP.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BP_YoVCu.js → TreeSelect-iViu6Pfi.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-CyurXsU_.js → TreeSelect.stories-xQyoBz63.js} +1 -1
- package/storybook-static/assets/{TreeTable-wfgjChnU.js → TreeTable-DLU_2E8g.js} +1 -1
- package/storybook-static/assets/TreeTable.stories-D9RB_dXs.js +138 -0
- package/storybook-static/assets/{blocks-DNj8uFSt.js → blocks-stFM1w3P.js} +3 -3
- package/storybook-static/assets/{check-CS2caYIB.js → check-BjiExazt.js} +1 -1
- package/storybook-static/assets/{chevron-down-DXkNPvpX.js → chevron-down-D2Tt4h6A.js} +1 -1
- package/storybook-static/assets/{chevron-left-5q-SFjrm.js → chevron-left-D0bJoN7k.js} +1 -1
- package/storybook-static/assets/{chevron-right-u6yLjLrs.js → chevron-right-Di-SG_gl.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-CfJGLIdy.js → chunk-W22LQPXL-BXYzyYQP.js} +1 -1
- package/storybook-static/assets/{circle-alert-Cs1OuREv.js → circle-alert-DYz5cJBA.js} +1 -1
- package/storybook-static/assets/{circle-check-Cvppn-HO.js → circle-check-D3yaxNuZ.js} +1 -1
- package/storybook-static/assets/{components-B6cPezpK.js → components-DE5Blgve.js} +3 -3
- package/storybook-static/assets/{contextMenu-CX8Geuik.js → contextMenu-Wg3CrAi4.js} +1 -1
- package/storybook-static/assets/{download-DY_RFHLw.js → download-DsSR6AhR.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-CCV40RlP.js → floating-ui.react-BwaqgYtp.js} +1 -1
- package/storybook-static/assets/{foundationApi-naPnCFLL.js → foundationApi-admd5xgy.js} +1 -1
- package/storybook-static/assets/{foundationLib-CSxKMNQk.js → foundationLib-CQpc9i83.js} +1 -1
- package/storybook-static/assets/{hooks-CK4me-dJ.js → hooks-CNazPa7h.js} +1 -1
- package/storybook-static/assets/{iframe-YrfSEgEg.js → iframe-DlXl0oyG.js} +3 -3
- package/storybook-static/assets/iframe-HeWj5Jc7.js +1 -0
- package/storybook-static/assets/{info-BEkn6tJB.js → info-gwA4taJ1.js} +1 -1
- package/storybook-static/assets/odata-D7wfZ6gu.js +1 -0
- package/storybook-static/assets/odataStoryFixtures-p30wd7rH.js +25 -0
- package/storybook-static/assets/{react-BihcRTyZ.js → react-f3n7_Ult.js} +1 -1
- package/storybook-static/assets/{refresh-cw-uKRX7BI0.js → refresh-cw-DfwG3t58.js} +1 -1
- package/storybook-static/assets/{settings-2-DTKuqR8p.js → settings-2-nuXQ2F5d.js} +1 -1
- package/storybook-static/assets/{sortable-sVqTZjeF.js → sortable-BHJzSt7m.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-GFZ4bA4u.js → syntaxhighlighter-QEQV7K2Y-BycmHfs1.js} +1 -1
- package/storybook-static/assets/{trash-2-C6QVfyTq.js → trash-2-D7B_KFrV.js} +1 -1
- package/storybook-static/assets/{triangle-alert-DKkTKSAW.js → triangle-alert-BXqJ5rX_.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-BxPpoJje.js → useODataSelectBase-th7LMnVn.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-Ct-ZR8pA.js → useODataTreeData-DOfK9vBg.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-DJMG-4Gl.js → usePickerQuery-Cbg_YqXW.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-DeZhyi9h.js → usePickerTriggerController-Dl_kYSNR.js} +1 -1
- package/storybook-static/assets/{x-cU42PK2s.js → x-Ex-P2uaI.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/project.json +1 -1
- package/dist/chunks/CalendarView-BJx6akIp.js.map +0 -1
- package/dist/chunks/date-input-DXCIZbyc.js +0 -341
- package/dist/chunks/date-input-DXCIZbyc.js.map +0 -1
- package/storybook-static/assets/CalendarView-sSyZ5jCR.js +0 -1
- package/storybook-static/assets/DateInput-XvSKmvqi.js +0 -1
- package/storybook-static/assets/DateInput.stories-SU41oukh.js +0 -115
- package/storybook-static/assets/DateRangePresetSelect-tz-3m9UI.js +0 -3
- package/storybook-static/assets/InputDateTime.stories-B7W4BkU6.js +0 -38
- package/storybook-static/assets/NotificationsHost.stories-5GPO8lQl.js +0 -29
- package/storybook-static/assets/PeriodSelect-CJejEx-e.js +0 -5
- package/storybook-static/assets/PresetRangeDateInput.stories-B2HCz7Tw.js +0 -3
- package/storybook-static/assets/PresetSelect-BgzVe_NB.js +0 -5
- package/storybook-static/assets/Sortable.stories-DWywtUOf.js +0 -77
- package/storybook-static/assets/StringToggle.stories-D7r-Du4d.js +0 -5
- package/storybook-static/assets/Table.stories-Cwxd5T2K.js +0 -207
- package/storybook-static/assets/TimePanel.stories-BQJruT0g.js +0 -14
- package/storybook-static/assets/TreeTable.stories-DUBR67SN.js +0 -168
- package/storybook-static/assets/iframe-uYND_WUi.js +0 -1
- package/storybook-static/assets/odata-j4p1dw3i.js +0 -1
- package/storybook-static/assets/odataStoryFixtures-B_1MKEB-.js +0 -25
|
@@ -10,34 +10,29 @@ var g = [
|
|
|
10
10
|
"month",
|
|
11
11
|
"year"
|
|
12
12
|
], _ = [
|
|
13
|
-
"day",
|
|
14
|
-
"week",
|
|
15
|
-
"month",
|
|
16
|
-
"year"
|
|
17
|
-
], v = [
|
|
18
13
|
"friday",
|
|
19
14
|
"saturday",
|
|
20
15
|
"sunday"
|
|
21
16
|
];
|
|
22
|
-
function
|
|
17
|
+
function v(e) {
|
|
23
18
|
return e === "month" ? "month" : e === "year" ? "year" : "day";
|
|
24
19
|
}
|
|
25
|
-
function
|
|
20
|
+
function y(e, t) {
|
|
26
21
|
return g.indexOf(e) >= g.indexOf(t);
|
|
27
22
|
}
|
|
28
|
-
function
|
|
29
|
-
let n =
|
|
30
|
-
return
|
|
23
|
+
function b(e, t) {
|
|
24
|
+
let n = v(e);
|
|
25
|
+
return y(n, t) ? n : t;
|
|
31
26
|
}
|
|
32
|
-
function
|
|
27
|
+
function x(e, t) {
|
|
33
28
|
return !e || !t ? !1 : e.start.getTime() === t.start.getTime() && e.end.getTime() === t.end.getTime();
|
|
34
29
|
}
|
|
35
|
-
function
|
|
30
|
+
function S(e, t, n) {
|
|
36
31
|
if (!e || !t || !n) return !1;
|
|
37
32
|
let r = Math.min(t.start.getTime(), n.start.getTime()), i = Math.max(t.end.getTime(), n.end.getTime());
|
|
38
33
|
return e.start.getTime() >= r && e.end.getTime() <= i;
|
|
39
34
|
}
|
|
40
|
-
function
|
|
35
|
+
function C({ date: e, value: t, hoveredDate: n, selectsRange: r, selectionOptions: i }) {
|
|
41
36
|
let a = u(e, i), o = !r && t instanceof Date ? t : null, s = u(o, i);
|
|
42
37
|
if (!r || !Array.isArray(t)) return {
|
|
43
38
|
selected: p(e, s),
|
|
@@ -45,15 +40,15 @@ function w({ date: e, value: t, hoveredDate: n, selectsRange: r, selectionOption
|
|
|
45
40
|
rangeStart: !1,
|
|
46
41
|
rangeEnd: !1
|
|
47
42
|
};
|
|
48
|
-
let [c, l] = t, d = u(c, i), f = u(l ?? (c ? n : null), i), m =
|
|
43
|
+
let [c, l] = t, d = u(c, i), f = u(l ?? (c ? n : null), i), m = x(a, d), h = x(a, f);
|
|
49
44
|
return {
|
|
50
45
|
selected: !1,
|
|
51
|
-
range:
|
|
46
|
+
range: S(a, d, f) && !m && !h,
|
|
52
47
|
rangeStart: m,
|
|
53
48
|
rangeEnd: h
|
|
54
49
|
};
|
|
55
50
|
}
|
|
56
|
-
var
|
|
51
|
+
var w = {
|
|
57
52
|
dayView: "Dshr-j",
|
|
58
53
|
weekdays: "esetVt",
|
|
59
54
|
weekday: "i-LJYe",
|
|
@@ -70,7 +65,7 @@ var T = {
|
|
|
70
65
|
rangeEnd: "MR3y5p",
|
|
71
66
|
weekend: "VDqDpm",
|
|
72
67
|
now: "CLR-7m"
|
|
73
|
-
},
|
|
68
|
+
}, T = [
|
|
74
69
|
"Пн",
|
|
75
70
|
"Вт",
|
|
76
71
|
"Ср",
|
|
@@ -78,12 +73,12 @@ var T = {
|
|
|
78
73
|
"Пт",
|
|
79
74
|
"Сб",
|
|
80
75
|
"Вс"
|
|
81
|
-
],
|
|
76
|
+
], E = new Intl.DateTimeFormat("ru-RU", {
|
|
82
77
|
weekday: "long",
|
|
83
78
|
year: "numeric",
|
|
84
79
|
month: "long",
|
|
85
80
|
day: "numeric"
|
|
86
|
-
}),
|
|
81
|
+
}), D = ({ now: e, currentDate: a, value: o, onChange: s, minDate: c, maxDate: m, selectsRange: g, selectionMode: _ = "day", weekEndDay: v = "sunday" }) => {
|
|
87
82
|
let [y, b] = t(null), x = {
|
|
88
83
|
selectionMode: _,
|
|
89
84
|
weekEndDay: v
|
|
@@ -95,7 +90,7 @@ var T = {
|
|
|
95
90
|
let u = [];
|
|
96
91
|
for (let e = 0; e < s.length; e += 7) u.push(s.slice(e, e + 7));
|
|
97
92
|
return u;
|
|
98
|
-
})(), C = g && Array.isArray(o) ? o[0] : null,
|
|
93
|
+
})(), C = g && Array.isArray(o) ? o[0] : null, D = g && Array.isArray(o) ? o[1] : null, O = u(g ? null : o, x), k = u(y, x), A = D ?? (C ? k?.end ?? null : null), j = _ === "week", M = j && (!g || !C), N = (e) => {
|
|
99
94
|
if (!g || !C || !A) return !1;
|
|
100
95
|
let t = d(e).getTime(), n = C.getTime(), r = A.getTime();
|
|
101
96
|
return t >= Math.min(n, r) && t <= Math.max(n, r);
|
|
@@ -103,23 +98,23 @@ var T = {
|
|
|
103
98
|
minDate: c,
|
|
104
99
|
maxDate: m
|
|
105
100
|
}), F = (e, t) => {
|
|
106
|
-
t || (j && b(e), !(!g || !C ||
|
|
101
|
+
t || (j && b(e), !(!g || !C || D) && (j || b(e)));
|
|
107
102
|
};
|
|
108
103
|
return /* @__PURE__ */ i("div", {
|
|
109
|
-
className:
|
|
104
|
+
className: w.dayView,
|
|
110
105
|
children: [/* @__PURE__ */ r("div", {
|
|
111
|
-
className:
|
|
112
|
-
children:
|
|
113
|
-
className:
|
|
106
|
+
className: w.weekdays,
|
|
107
|
+
children: T.map((e) => /* @__PURE__ */ r("div", {
|
|
108
|
+
className: w.weekday,
|
|
114
109
|
children: e
|
|
115
110
|
}, e))
|
|
116
111
|
}), /* @__PURE__ */ r("div", {
|
|
117
|
-
className:
|
|
112
|
+
className: w.daysGrid,
|
|
118
113
|
onMouseLeave: () => {
|
|
119
|
-
(j || !
|
|
114
|
+
(j || !D) && b(null);
|
|
120
115
|
},
|
|
121
116
|
children: S.map((t, i) => /* @__PURE__ */ r("div", {
|
|
122
|
-
className:
|
|
117
|
+
className: w.week,
|
|
123
118
|
children: t.map((t, o) => {
|
|
124
119
|
let c = t.getMonth() === a.getMonth(), l = p(t, O), u = M && p(t, k), d = N(t), f = h(t, C), m = h(t, A), g = h(t, e), v = P(t);
|
|
125
120
|
return /* @__PURE__ */ r("button", {
|
|
@@ -129,19 +124,19 @@ var T = {
|
|
|
129
124
|
disabled: v,
|
|
130
125
|
"data-ui": "calendar-day-button",
|
|
131
126
|
"data-action": "select-calendar-day",
|
|
132
|
-
className: n(
|
|
133
|
-
[
|
|
134
|
-
[
|
|
135
|
-
[
|
|
136
|
-
[
|
|
137
|
-
[
|
|
138
|
-
[
|
|
139
|
-
[
|
|
140
|
-
[
|
|
141
|
-
[
|
|
142
|
-
[
|
|
127
|
+
className: n(w.day, {
|
|
128
|
+
[w.outsideMonth]: !c,
|
|
129
|
+
[w.periodSelection]: _ === "week",
|
|
130
|
+
[w.periodPreview]: u && !l,
|
|
131
|
+
[w.selected]: l,
|
|
132
|
+
[w.range]: d && !f && !m,
|
|
133
|
+
[w.rangeStart]: f,
|
|
134
|
+
[w.rangeEnd]: m,
|
|
135
|
+
[w.disabled]: v,
|
|
136
|
+
[w.weekend]: o > 4,
|
|
137
|
+
[w.now]: g
|
|
143
138
|
}),
|
|
144
|
-
"aria-label":
|
|
139
|
+
"aria-label": E.format(t),
|
|
145
140
|
"aria-pressed": l || d || f || m,
|
|
146
141
|
children: t.getDate()
|
|
147
142
|
}, `${i}-${o}`);
|
|
@@ -149,7 +144,7 @@ var T = {
|
|
|
149
144
|
}, i))
|
|
150
145
|
})]
|
|
151
146
|
});
|
|
152
|
-
},
|
|
147
|
+
}, O = {
|
|
153
148
|
monthView: "p5pRGW",
|
|
154
149
|
monthsGrid: "pUHpxD",
|
|
155
150
|
month: "lwWv-z",
|
|
@@ -158,14 +153,14 @@ var T = {
|
|
|
158
153
|
selected: "nGc5FO",
|
|
159
154
|
rangeStart: "JLqjri",
|
|
160
155
|
rangeEnd: "UQMYwg"
|
|
161
|
-
},
|
|
156
|
+
}, k = new Intl.DateTimeFormat("ru-RU", { month: "short" }), A = new Intl.DateTimeFormat("ru-RU", {
|
|
162
157
|
month: "long",
|
|
163
158
|
year: "numeric"
|
|
164
|
-
}),
|
|
159
|
+
}), j = ({ currentDate: e, value: i, onChange: a, minDate: o, maxDate: s, selectsRange: c, selectsPeriod: d, selectionMode: p = "day", weekEndDay: m = "sunday" }) => {
|
|
165
160
|
let [h, g] = t(null), _ = Array.from({ length: 12 }, (e, t) => t), v = e.getFullYear(), y = {
|
|
166
161
|
selectionMode: p,
|
|
167
162
|
weekEndDay: m
|
|
168
|
-
}, b = c && Array.isArray(i) ? i[0] : null, x = c && Array.isArray(i) ? i[1] : null, S = (e) =>
|
|
163
|
+
}, b = c && Array.isArray(i) ? i[0] : null, x = c && Array.isArray(i) ? i[1] : null, S = (e) => k.format(l(v, e, 1)), w = (e) => {
|
|
169
164
|
if (!o && !s) return !1;
|
|
170
165
|
let t = l(v, e, 1), n = l(v, e + 1, 0, 23, 59, 59);
|
|
171
166
|
return d ? !f(u(t, y), {
|
|
@@ -176,14 +171,14 @@ var T = {
|
|
|
176
171
|
!c || !b || x || t || g(e);
|
|
177
172
|
};
|
|
178
173
|
return /* @__PURE__ */ r("div", {
|
|
179
|
-
className:
|
|
174
|
+
className: O.monthView,
|
|
180
175
|
children: /* @__PURE__ */ r("div", {
|
|
181
|
-
className:
|
|
176
|
+
className: O.monthsGrid,
|
|
182
177
|
onMouseLeave: () => {
|
|
183
178
|
x || g(null);
|
|
184
179
|
},
|
|
185
180
|
children: _.map((e) => {
|
|
186
|
-
let t =
|
|
181
|
+
let t = w(e), o = l(v, e, 1), s = C({
|
|
187
182
|
date: o,
|
|
188
183
|
value: i,
|
|
189
184
|
hoveredDate: h,
|
|
@@ -197,24 +192,24 @@ var T = {
|
|
|
197
192
|
disabled: t,
|
|
198
193
|
"data-ui": "calendar-month-button",
|
|
199
194
|
"data-action": "select-calendar-month",
|
|
200
|
-
className: n(
|
|
201
|
-
[
|
|
202
|
-
[
|
|
203
|
-
[
|
|
204
|
-
[
|
|
205
|
-
[
|
|
195
|
+
className: n(O.month, {
|
|
196
|
+
[O.selected]: s.selected,
|
|
197
|
+
[O.range]: s.range,
|
|
198
|
+
[O.rangeStart]: s.rangeStart,
|
|
199
|
+
[O.rangeEnd]: s.rangeEnd,
|
|
200
|
+
[O.disabled]: t
|
|
206
201
|
}),
|
|
207
|
-
"aria-label":
|
|
202
|
+
"aria-label": A.format(o),
|
|
208
203
|
"aria-pressed": s.selected || s.range || s.rangeStart || s.rangeEnd,
|
|
209
204
|
children: S(e)
|
|
210
205
|
}, e);
|
|
211
206
|
})
|
|
212
207
|
})
|
|
213
208
|
});
|
|
214
|
-
},
|
|
209
|
+
}, M = {
|
|
215
210
|
calendarView: "E35KE6",
|
|
216
211
|
calendarHeader: "L14Qef"
|
|
217
|
-
},
|
|
212
|
+
}, N = {
|
|
218
213
|
yearView: "_--xW7O",
|
|
219
214
|
yearsGrid: "-N-5Jk",
|
|
220
215
|
year: "hhY92S",
|
|
@@ -223,7 +218,7 @@ var T = {
|
|
|
223
218
|
selected: "d1SfcV",
|
|
224
219
|
rangeStart: "Gkui4r",
|
|
225
220
|
rangeEnd: "_0dVZLW"
|
|
226
|
-
},
|
|
221
|
+
}, P = ({ currentDate: e, value: i, onChange: a, minDate: o, maxDate: s, selectsRange: c, selectsPeriod: d, selectionMode: p = "day", weekEndDay: m = "sunday" }) => {
|
|
227
222
|
let [h, g] = t(null), _ = Math.floor(e.getFullYear() / 12) * 12, v = Array.from({ length: 12 }, (e, t) => _ + t), y = {
|
|
228
223
|
selectionMode: p,
|
|
229
224
|
weekEndDay: m
|
|
@@ -234,18 +229,18 @@ var T = {
|
|
|
234
229
|
minDate: o,
|
|
235
230
|
maxDate: s
|
|
236
231
|
}) : !!(o && n < o || s && t > s);
|
|
237
|
-
},
|
|
232
|
+
}, w = (e, t) => {
|
|
238
233
|
!c || !b || x || t || g(e);
|
|
239
234
|
};
|
|
240
235
|
return /* @__PURE__ */ r("div", {
|
|
241
|
-
className:
|
|
236
|
+
className: N.yearView,
|
|
242
237
|
children: /* @__PURE__ */ r("div", {
|
|
243
|
-
className:
|
|
238
|
+
className: N.yearsGrid,
|
|
244
239
|
onMouseLeave: () => {
|
|
245
240
|
x || g(null);
|
|
246
241
|
},
|
|
247
242
|
children: v.map((e) => {
|
|
248
|
-
let t = S(e), o = l(e, 0, 1), s =
|
|
243
|
+
let t = S(e), o = l(e, 0, 1), s = C({
|
|
249
244
|
date: o,
|
|
250
245
|
value: i,
|
|
251
246
|
hoveredDate: h,
|
|
@@ -255,16 +250,16 @@ var T = {
|
|
|
255
250
|
return /* @__PURE__ */ r("button", {
|
|
256
251
|
type: "button",
|
|
257
252
|
onClick: () => !t && a(o),
|
|
258
|
-
onMouseEnter: () =>
|
|
253
|
+
onMouseEnter: () => w(o, t),
|
|
259
254
|
disabled: t,
|
|
260
255
|
"data-ui": "calendar-year-button",
|
|
261
256
|
"data-action": "select-calendar-year",
|
|
262
|
-
className: n(
|
|
263
|
-
[
|
|
264
|
-
[
|
|
265
|
-
[
|
|
266
|
-
[
|
|
267
|
-
[
|
|
257
|
+
className: n(N.year, {
|
|
258
|
+
[N.selected]: s.selected,
|
|
259
|
+
[N.range]: s.range,
|
|
260
|
+
[N.rangeStart]: s.rangeStart,
|
|
261
|
+
[N.rangeEnd]: s.rangeEnd,
|
|
262
|
+
[N.disabled]: t
|
|
268
263
|
}),
|
|
269
264
|
"aria-label": e.toString(),
|
|
270
265
|
"aria-pressed": s.selected || s.range || s.rangeStart || s.rangeEnd,
|
|
@@ -276,24 +271,24 @@ var T = {
|
|
|
276
271
|
};
|
|
277
272
|
//#endregion
|
|
278
273
|
//#region src/date-input/ui/CalendarView.tsx
|
|
279
|
-
function
|
|
274
|
+
function F(e, t) {
|
|
280
275
|
if (t && m(e) && e[0] instanceof Date) return e[0];
|
|
281
276
|
if (!t && e instanceof Date) return e;
|
|
282
277
|
}
|
|
283
|
-
function
|
|
284
|
-
let [_] = t(() => d(/* @__PURE__ */ new Date())), v =
|
|
285
|
-
sourceValueTime:
|
|
278
|
+
function I({ view: n, datePickerLevel: l, selectionMode: p = "day", weekEndDay: m = "sunday", onViewChange: h, ...g }) {
|
|
279
|
+
let [_] = t(() => d(/* @__PURE__ */ new Date())), v = F(g.value, g.selectsRange), b = v?.getTime() ?? null, [x, S] = t(() => ({
|
|
280
|
+
sourceValueTime: b,
|
|
286
281
|
currentDate: v ?? d(/* @__PURE__ */ new Date())
|
|
287
|
-
})), C = v && x.sourceValueTime !==
|
|
282
|
+
})), C = v && x.sourceValueTime !== b ? v : x.currentDate, w = g.currentDate ?? C, T = {
|
|
288
283
|
selectionMode: p,
|
|
289
284
|
weekEndDay: m
|
|
290
285
|
}, E = (e) => {
|
|
291
286
|
let t = typeof e == "function" ? e(w) : e;
|
|
292
287
|
g.currentDate === void 0 && S({
|
|
293
|
-
sourceValueTime:
|
|
288
|
+
sourceValueTime: b,
|
|
294
289
|
currentDate: t
|
|
295
290
|
}), g.onCurrentDateChange?.(t);
|
|
296
|
-
},
|
|
291
|
+
}, O = () => {
|
|
297
292
|
if (n === "day") {
|
|
298
293
|
E((e) => s(e, -1));
|
|
299
294
|
return;
|
|
@@ -315,7 +310,7 @@ function L({ view: n, datePickerLevel: l, selectionMode: p = "day", weekEndDay:
|
|
|
315
310
|
E((e) => c(e, 12));
|
|
316
311
|
};
|
|
317
312
|
return /* @__PURE__ */ i("div", {
|
|
318
|
-
className:
|
|
313
|
+
className: M.calendarView,
|
|
319
314
|
children: [(() => {
|
|
320
315
|
let t = "";
|
|
321
316
|
if (n === "day") t = w.toLocaleDateString("ru-RU", {
|
|
@@ -328,11 +323,11 @@ function L({ view: n, datePickerLevel: l, selectionMode: p = "day", weekEndDay:
|
|
|
328
323
|
t = `${e} - ${e + 11}`;
|
|
329
324
|
}
|
|
330
325
|
return /* @__PURE__ */ i("div", {
|
|
331
|
-
className:
|
|
326
|
+
className: M.calendarHeader,
|
|
332
327
|
children: [
|
|
333
328
|
/* @__PURE__ */ r(e, {
|
|
334
329
|
icon: /* @__PURE__ */ r(a, {}),
|
|
335
|
-
onClick:
|
|
330
|
+
onClick: O,
|
|
336
331
|
variant: "ghost",
|
|
337
332
|
"aria-label": "Предыдущий",
|
|
338
333
|
"data-action": "calendar-previous"
|
|
@@ -382,20 +377,20 @@ function L({ view: n, datePickerLevel: l, selectionMode: p = "day", weekEndDay:
|
|
|
382
377
|
g.onChange(t.start);
|
|
383
378
|
}
|
|
384
379
|
}, t = (t) => {
|
|
385
|
-
if (E(t), p === "month" || !
|
|
380
|
+
if (E(t), p === "month" || !y("day", l)) {
|
|
386
381
|
e(t);
|
|
387
382
|
return;
|
|
388
383
|
}
|
|
389
384
|
h("day");
|
|
390
385
|
}, i = (t) => {
|
|
391
|
-
if (E(t), p === "year" || !
|
|
386
|
+
if (E(t), p === "year" || !y("month", l)) {
|
|
392
387
|
e(t);
|
|
393
388
|
return;
|
|
394
389
|
}
|
|
395
390
|
h("month");
|
|
396
391
|
};
|
|
397
392
|
switch (n) {
|
|
398
|
-
case "day": return /* @__PURE__ */ r(
|
|
393
|
+
case "day": return /* @__PURE__ */ r(D, {
|
|
399
394
|
now: _,
|
|
400
395
|
currentDate: w,
|
|
401
396
|
value: g.value,
|
|
@@ -406,25 +401,25 @@ function L({ view: n, datePickerLevel: l, selectionMode: p = "day", weekEndDay:
|
|
|
406
401
|
selectionMode: p,
|
|
407
402
|
weekEndDay: m
|
|
408
403
|
});
|
|
409
|
-
case "month": return /* @__PURE__ */ r(
|
|
404
|
+
case "month": return /* @__PURE__ */ r(j, {
|
|
410
405
|
currentDate: w,
|
|
411
406
|
value: g.value,
|
|
412
407
|
onChange: t,
|
|
413
408
|
minDate: g.minDate,
|
|
414
409
|
maxDate: g.maxDate,
|
|
415
410
|
selectsRange: g.selectsRange,
|
|
416
|
-
selectsPeriod: p === "month" || !
|
|
411
|
+
selectsPeriod: p === "month" || !y("day", l),
|
|
417
412
|
selectionMode: p,
|
|
418
413
|
weekEndDay: m
|
|
419
414
|
});
|
|
420
|
-
case "year": return /* @__PURE__ */ r(
|
|
415
|
+
case "year": return /* @__PURE__ */ r(P, {
|
|
421
416
|
currentDate: w,
|
|
422
417
|
value: g.value,
|
|
423
418
|
onChange: i,
|
|
424
419
|
minDate: g.minDate,
|
|
425
420
|
maxDate: g.maxDate,
|
|
426
421
|
selectsRange: g.selectsRange,
|
|
427
|
-
selectsPeriod: p === "year" || !
|
|
422
|
+
selectsPeriod: p === "year" || !y("month", l),
|
|
428
423
|
selectionMode: p,
|
|
429
424
|
weekEndDay: m
|
|
430
425
|
});
|
|
@@ -434,6 +429,6 @@ function L({ view: n, datePickerLevel: l, selectionMode: p = "day", weekEndDay:
|
|
|
434
429
|
});
|
|
435
430
|
}
|
|
436
431
|
//#endregion
|
|
437
|
-
export { y as a,
|
|
432
|
+
export { y as a, v as i, _ as n, b as o, g as r, C as s, I as t };
|
|
438
433
|
|
|
439
|
-
//# sourceMappingURL=CalendarView-
|
|
434
|
+
//# sourceMappingURL=CalendarView-j6rF-EWR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarView-j6rF-EWR.js","names":[],"sources":["../../src/date-input/lib/dateInputCalendar.ts","../../src/date-input/ui/CalendarDayView.module.scss","../../src/date-input/ui/CalendarDayView.tsx","../../src/date-input/ui/CalendarMonthView.module.scss","../../src/date-input/ui/CalendarMonthView.tsx","../../src/date-input/ui/CalendarView.module.scss","../../src/date-input/ui/CalendarYearView.module.scss","../../src/date-input/ui/CalendarYearView.tsx","../../src/date-input/ui/CalendarView.tsx"],"sourcesContent":["import {\n\tgetCalendarPeriod,\n\tisDateInsideCalendarPeriod,\n\ttype CalendarPeriod,\n\ttype CalendarPeriodOptions,\n\ttype DateRangeInput,\n\ttype NullableDateRange\n} from \"@ryuzaki13/react-foundation-lib/formatters\";\n\nimport type { DateInputSelectionMode, DateInputWeekEndDay, DatePickerLevel } from \"./types\";\n\nexport const DATE_PICKER_LEVELS = [\"day\", \"month\", \"year\"] as const satisfies readonly DatePickerLevel[];\nexport const DATE_INPUT_WEEK_END_DAYS = [\"friday\", \"saturday\", \"sunday\"] as const satisfies readonly DateInputWeekEndDay[];\n\n/**\n * Возвращает календарный вид, который удобнее всего открывать для выбранного размера периода.\n */\nexport function getDatePickerLevelForSelectionMode(selectionMode: DateInputSelectionMode): DatePickerLevel {\n\tif (selectionMode === \"month\") return \"month\";\n\tif (selectionMode === \"year\") return \"year\";\n\n\treturn \"day\";\n}\n\n/**\n * Проверяет, разрешён ли календарный вид относительно минимального уровня навигации.\n */\nexport function isDatePickerLevelAvailable(level: DatePickerLevel, minLevel: DatePickerLevel): boolean {\n\treturn DATE_PICKER_LEVELS.indexOf(level) >= DATE_PICKER_LEVELS.indexOf(minLevel);\n}\n\n/**\n * Подбирает вид календаря для режима выбора с учётом ограничения `datePickerLevel`.\n */\nexport function resolveAvailableDatePickerLevel(selectionMode: DateInputSelectionMode, minLevel: DatePickerLevel): DatePickerLevel {\n\tconst preferredLevel = getDatePickerLevelForSelectionMode(selectionMode);\n\n\treturn isDatePickerLevelAvailable(preferredLevel, minLevel) ? preferredLevel : minLevel;\n}\n\nexport interface DateInputPeriodRangeStateOptions {\n\treadonly date: Date;\n\treadonly value: DateRangeInput;\n\treadonly hoveredDate?: Date | null;\n\treadonly selectsRange?: boolean;\n\treadonly selectionOptions?: CalendarPeriodOptions;\n}\n\nexport interface DateInputPeriodRangeState {\n\treadonly selected: boolean;\n\treadonly range: boolean;\n\treadonly rangeStart: boolean;\n\treadonly rangeEnd: boolean;\n}\n\nfunction isSameCalendarPeriod(left: CalendarPeriod | null, right: CalendarPeriod | null): boolean {\n\tif (!left || !right) return false;\n\n\treturn left.start.getTime() === right.start.getTime() && left.end.getTime() === right.end.getTime();\n}\n\nfunction isCalendarPeriodInsideRange(\n\tperiod: CalendarPeriod | null,\n\tstartPeriod: CalendarPeriod | null,\n\tendPeriod: CalendarPeriod | null\n): boolean {\n\tif (!period || !startPeriod || !endPeriod) return false;\n\n\tconst startTime = Math.min(startPeriod.start.getTime(), endPeriod.start.getTime());\n\tconst endTime = Math.max(startPeriod.end.getTime(), endPeriod.end.getTime());\n\n\treturn period.start.getTime() >= startTime && period.end.getTime() <= endTime;\n}\n\n/**\n * Рассчитывает visual-state ячейки календарного периода для single/range режима.\n */\nexport function resolveDateInputPeriodRangeState({\n\tdate,\n\tvalue,\n\thoveredDate,\n\tselectsRange,\n\tselectionOptions\n}: DateInputPeriodRangeStateOptions): DateInputPeriodRangeState {\n\tconst period = getCalendarPeriod(date, selectionOptions);\n\tconst selectedDate = !selectsRange && value instanceof Date ? value : null;\n\tconst selectedSinglePeriod = getCalendarPeriod(selectedDate, selectionOptions);\n\n\tif (!selectsRange || !Array.isArray(value)) {\n\t\treturn {\n\t\t\tselected: isDateInsideCalendarPeriod(date, selectedSinglePeriod),\n\t\t\trange: false,\n\t\t\trangeStart: false,\n\t\t\trangeEnd: false\n\t\t};\n\t}\n\n\tconst [selectedStartDate, selectedEndDate] = value as NullableDateRange;\n\tconst selectedStartPeriod = getCalendarPeriod(selectedStartDate, selectionOptions);\n\tconst previewEndPeriod = getCalendarPeriod(selectedEndDate ?? (selectedStartDate ? hoveredDate : null), selectionOptions);\n\tconst rangeStart = isSameCalendarPeriod(period, selectedStartPeriod);\n\tconst rangeEnd = isSameCalendarPeriod(period, previewEndPeriod);\n\tconst range = isCalendarPeriodInsideRange(period, selectedStartPeriod, previewEndPeriod);\n\n\treturn {\n\t\tselected: false,\n\t\trange: range && !rangeStart && !rangeEnd,\n\t\trangeStart,\n\t\trangeEnd\n\t};\n}\n",".dayView {\n\tpadding: 0;\n}\n\n.weekdays {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(7, 1fr);\n\ttext-align: center;\n\tmargin-bottom: var(--space-sm);\n\tcolor: var(--content-1);\n}\n\n.weekday {\n\tfont-size: var(--font-size-xs);\n}\n\n.daysGrid {\n\tdisplay: grid;\n\tgap: var(--border-width);\n}\n\n.week {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(7, 1fr);\n\tgap: var(--border-width);\n}\n\n.day {\n\t--range-radius: calc(var(--control-height) / 2);\n\n\theight: var(--control-height);\n\tcursor: pointer;\n\tborder-radius: var(--radius-xs);\n\t// font-size: var(--font-size-sm);\n\n\tbackground-color: var(--surface-1);\n\n\t&:hover:not(.disabled) {\n\t\tbackground-color: var(--surface-accent);\n\t}\n\n\t&.outsideMonth {\n\t\tbackground-color: transparent;\n\t\tcolor: var(--content-2);\n\t}\n\n\t&.periodSelection:hover:not(.disabled):not(.periodPreview):not(.selected) {\n\t\tbackground-color: var(--surface-1);\n\t}\n\n\t&.periodSelection.outsideMonth:hover:not(.disabled):not(.periodPreview):not(.selected) {\n\t\tbackground-color: transparent;\n\t}\n\n\t&.periodPreview {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-0);\n\t}\n\n\t&.range {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-0);\n\t}\n\n\t&.rangeStart {\n\t\t// border-top-left-radius: var(--range-radius);\n\t\t// border-bottom-left-radius: var(--range-radius);\n\t}\n\n\t&.rangeEnd {\n\t\t// border-top-right-radius: var(--range-radius);\n\t\t// border-bottom-right-radius: var(--range-radius);\n\t}\n\n\t&.selected,\n\t&.rangeStart,\n\t&.rangeEnd {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-accent);\n\t\tfont-weight: 600;\n\t\tfont-variation-settings: \"wght\" 600;\n\t}\n\n\t&.weekend:not(.selected):not(.range):not(.rangeStart):not(.rangeEnd) {\n\t\tcolor: var(--status-error-fill);\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--content-2);\n\t\tcursor: not-allowed;\n\n\t\t&:hover {\n\t\t\tbackground: none;\n\t\t}\n\t}\n\n\t&.now {\n\t\tborder: var(--border);\n\t\tcolor: var(--status-info-text);\n\t\tborder-color: var(--status-info-text);\n\t}\n}\n","import { useState } from \"react\";\n\nimport {\n\tcreateCalendarDate,\n\tgetCalendarPeriod,\n\tgetStartOfDay,\n\tisCalendarPeriodWithinDateBounds,\n\tisDateInsideCalendarPeriod,\n\tisSameCalendarDay,\n\ttype CalendarPeriodOptions,\n\ttype DateRangeInput\n} from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { type DateInputSelectionMode, type DateInputWeekEndDay } from \"../lib\";\n\nimport styles from \"./CalendarDayView.module.scss\";\n\nconst weekDays = [\"Пн\", \"Вт\", \"Ср\", \"Чт\", \"Пт\", \"Сб\", \"Вс\"];\nconst dayLabelFormatter = new Intl.DateTimeFormat(\"ru-RU\", {\n\tweekday: \"long\",\n\tyear: \"numeric\",\n\tmonth: \"long\",\n\tday: \"numeric\"\n});\n\ninterface DayViewProps {\n\tnow: Date;\n\tcurrentDate: Date;\n\tvalue: DateRangeInput;\n\tonChange: (date: Date) => void;\n\tminDate?: Date;\n\tmaxDate?: Date;\n\tselectsRange?: boolean;\n\tselectionMode?: DateInputSelectionMode;\n\tweekEndDay?: DateInputWeekEndDay;\n}\n\n/**\n * Отображает сетку дней месяца в календарной семантике без timezone-сдвига.\n */\nexport const CalendarDayView: React.FC<DayViewProps> = ({\n\tnow,\n\tcurrentDate,\n\tvalue,\n\tonChange,\n\tminDate,\n\tmaxDate,\n\tselectsRange,\n\tselectionMode = \"day\",\n\tweekEndDay = \"sunday\"\n}) => {\n\tconst [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n\tconst selectionOptions: CalendarPeriodOptions = {\n\t\tselectionMode,\n\t\tweekEndDay\n\t};\n\n\t/**\n\t * Генерирует недели для текущего месяца с учётом дней соседних месяцев.\n\t */\n\tconst generateCalendarDays = () => {\n\t\tconst year = currentDate.getFullYear();\n\t\tconst month = currentDate.getMonth();\n\n\t\tconst firstDay = createCalendarDate(year, month, 1);\n\t\tconst lastDay = createCalendarDate(year, month + 1, 0);\n\t\tconst prevMonthDays = firstDay.getDay() === 0 ? 6 : firstDay.getDay() - 1;\n\t\tconst nextMonthDays = 6 * 7 - (prevMonthDays + lastDay.getDate());\n\n\t\tconst days: Date[] = [];\n\t\tconst prevMonthLastDay = createCalendarDate(year, month, 0).getDate();\n\n\t\tfor (let index = prevMonthDays; index > 0; index -= 1) {\n\t\t\tdays.push(createCalendarDate(year, month - 1, prevMonthLastDay - index + 1));\n\t\t}\n\n\t\tfor (let day = 1; day <= lastDay.getDate(); day += 1) {\n\t\t\tdays.push(createCalendarDate(year, month, day));\n\t\t}\n\n\t\tfor (let day = 1; day <= nextMonthDays; day += 1) {\n\t\t\tdays.push(createCalendarDate(year, month + 1, day));\n\t\t}\n\n\t\tconst weeks: Date[][] = [];\n\t\tfor (let index = 0; index < days.length; index += 7) {\n\t\t\tweeks.push(days.slice(index, index + 7));\n\t\t}\n\n\t\treturn weeks;\n\t};\n\n\tconst weeks = generateCalendarDays();\n\tconst selectedStartDate = selectsRange && Array.isArray(value) ? value[0] : null;\n\tconst selectedEndDate = selectsRange && Array.isArray(value) ? value[1] : null;\n\tconst selectedDate = !selectsRange ? (value as Date | null) : null;\n\tconst selectedSinglePeriod = getCalendarPeriod(selectedDate, selectionOptions);\n\tconst hoveredPeriod = getCalendarPeriod(hoveredDate, selectionOptions);\n\tconst previewEndDate = selectedEndDate ?? (selectedStartDate ? (hoveredPeriod?.end ?? null) : null);\n\tconst previewsWeekPeriod = selectionMode === \"week\";\n\tconst previewsStandalonePeriod = previewsWeekPeriod && (!selectsRange || !selectedStartDate);\n\n\t/**\n\t * Проверяет, лежит ли день внутри выбранного или preview-диапазона.\n\t */\n\tconst isInRange = (date: Date) => {\n\t\tif (!selectsRange || !selectedStartDate || !previewEndDate) return false;\n\n\t\tconst dateMs = getStartOfDay(date).getTime();\n\t\tconst startMs = selectedStartDate.getTime();\n\t\tconst endMs = previewEndDate.getTime();\n\n\t\treturn dateMs >= Math.min(startMs, endMs) && dateMs <= Math.max(startMs, endMs);\n\t};\n\n\t/**\n\t * Проверяет ограничения на выбор даты.\n\t */\n\tconst isDisabled = (date: Date) => {\n\t\treturn !isCalendarPeriodWithinDateBounds(getCalendarPeriod(date, selectionOptions), { minDate, maxDate });\n\t};\n\n\t/**\n\t * Обновляет preview-конец диапазона при движении мыши.\n\t */\n\tconst handleDayHover = (date: Date, disabled: boolean) => {\n\t\tif (disabled) return;\n\n\t\tif (previewsWeekPeriod) {\n\t\t\tsetHoveredDate(date);\n\t\t}\n\n\t\tif (!selectsRange || !selectedStartDate || selectedEndDate) return;\n\t\tif (!previewsWeekPeriod) setHoveredDate(date);\n\t};\n\n\t/**\n\t * Сбрасывает preview незавершённого диапазона при уходе курсора.\n\t */\n\tconst handleGridLeave = () => {\n\t\tif (previewsWeekPeriod || !selectedEndDate) {\n\t\t\tsetHoveredDate(null);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={styles.dayView}>\n\t\t\t<div className={styles.weekdays}>\n\t\t\t\t{weekDays.map((day) => (\n\t\t\t\t\t<div key={day} className={styles.weekday}>\n\t\t\t\t\t\t{day}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\n\t\t\t<div className={styles.daysGrid} onMouseLeave={handleGridLeave}>\n\t\t\t\t{weeks.map((week, weekIndex) => (\n\t\t\t\t\t<div key={weekIndex} className={styles.week}>\n\t\t\t\t\t\t{week.map((day, dayIndex) => {\n\t\t\t\t\t\t\tconst isCurrentMonth = day.getMonth() === currentDate.getMonth();\n\t\t\t\t\t\t\tconst isSelected = isDateInsideCalendarPeriod(day, selectedSinglePeriod);\n\t\t\t\t\t\t\tconst isPeriodPreview = previewsStandalonePeriod && isDateInsideCalendarPeriod(day, hoveredPeriod);\n\t\t\t\t\t\t\tconst isRange = isInRange(day);\n\t\t\t\t\t\t\tconst isStart = isSameCalendarDay(day, selectedStartDate);\n\t\t\t\t\t\t\tconst isEnd = isSameCalendarDay(day, previewEndDate);\n\t\t\t\t\t\t\tconst isNow = isSameCalendarDay(day, now);\n\t\t\t\t\t\t\tconst disabled = isDisabled(day);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tkey={`${weekIndex}-${dayIndex}`}\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tonClick={() => !disabled && onChange(day)}\n\t\t\t\t\t\t\t\t\tonMouseEnter={() => handleDayHover(day, disabled)}\n\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\tdata-ui=\"calendar-day-button\"\n\t\t\t\t\t\t\t\t\tdata-action=\"select-calendar-day\"\n\t\t\t\t\t\t\t\t\tclassName={cn(styles.day, {\n\t\t\t\t\t\t\t\t\t\t[styles.outsideMonth]: !isCurrentMonth,\n\t\t\t\t\t\t\t\t\t\t[styles.periodSelection]: selectionMode === \"week\",\n\t\t\t\t\t\t\t\t\t\t[styles.periodPreview]: isPeriodPreview && !isSelected,\n\t\t\t\t\t\t\t\t\t\t[styles.selected]: isSelected,\n\t\t\t\t\t\t\t\t\t\t[styles.range]: isRange && !isStart && !isEnd,\n\t\t\t\t\t\t\t\t\t\t[styles.rangeStart]: isStart,\n\t\t\t\t\t\t\t\t\t\t[styles.rangeEnd]: isEnd,\n\t\t\t\t\t\t\t\t\t\t[styles.disabled]: disabled,\n\t\t\t\t\t\t\t\t\t\t[styles.weekend]: dayIndex > 4,\n\t\t\t\t\t\t\t\t\t\t[styles.now]: isNow\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\taria-label={dayLabelFormatter.format(day)}\n\t\t\t\t\t\t\t\t\taria-pressed={isSelected || isRange || isStart || isEnd}>\n\t\t\t\t\t\t\t\t\t{day.getDate()}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n",".monthView {\n\tpadding: 0;\n}\n\n.monthsGrid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(3, 1fr);\n\tgap: var(--border-width);\n\talign-content: center;\n\n\t// min-height: calc(12em * var(--line-height));\n}\n\n.month {\n\theight: var(--control-height);\n\tcursor: pointer;\n\tborder-radius: var(--radius-xs);\n\t// font-size: var(--font-size-sm);\n\ttext-transform: capitalize;\n\n\tbackground-color: var(--surface-1);\n\n\t&:hover:not(.disabled) {\n\t\tbackground-color: var(--surface-accent);\n\t}\n\n\t&.range {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-0);\n\t}\n\n\t&.selected,\n\t&.rangeStart,\n\t&.rangeEnd {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-accent);\n\t\tfont-weight: 600;\n\t\tfont-variation-settings: \"wght\" 600;\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--content-2);\n\t\tcursor: not-allowed;\n\n\t\t&:hover {\n\t\t\tbackground: none;\n\t\t}\n\t}\n}\n","import { useState } from \"react\";\n\nimport {\n\tcreateCalendarDate,\n\tgetCalendarPeriod,\n\tisCalendarPeriodWithinDateBounds,\n\ttype CalendarPeriodOptions,\n\ttype DateRangeInput\n} from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { resolveDateInputPeriodRangeState } from \"../lib\";\n\nimport styles from \"./CalendarMonthView.module.scss\";\n\nimport type { DateInputSelectionMode, DateInputWeekEndDay } from \"../lib\";\n\nconst monthLabelFormatter = new Intl.DateTimeFormat(\"ru-RU\", { month: \"short\" });\nconst monthAriaFormatter = new Intl.DateTimeFormat(\"ru-RU\", { month: \"long\", year: \"numeric\" });\n\ninterface MonthViewProps {\n\tcurrentDate: Date;\n\tvalue: DateRangeInput;\n\tonChange: (date: Date) => void;\n\tminDate?: Date;\n\tmaxDate?: Date;\n\tselectsRange?: boolean;\n\tselectsPeriod?: boolean;\n\tselectionMode?: DateInputSelectionMode;\n\tweekEndDay?: DateInputWeekEndDay;\n}\n\n/**\n * Отображает выбор месяца в календарной семантике без timezone-сдвига.\n */\nexport const CalendarMonthView: React.FC<MonthViewProps> = ({\n\tcurrentDate,\n\tvalue,\n\tonChange,\n\tminDate,\n\tmaxDate,\n\tselectsRange,\n\tselectsPeriod,\n\tselectionMode = \"day\",\n\tweekEndDay = \"sunday\"\n}) => {\n\tconst [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n\tconst months = Array.from({ length: 12 }, (_, index) => index);\n\tconst currentYear = currentDate.getFullYear();\n\tconst selectionOptions: CalendarPeriodOptions = {\n\t\tselectionMode,\n\t\tweekEndDay\n\t};\n\tconst selectedStartDate = selectsRange && Array.isArray(value) ? value[0] : null;\n\tconst selectedEndDate = selectsRange && Array.isArray(value) ? value[1] : null;\n\n\t/**\n\t * Возвращает сокращённое имя месяца.\n\t */\n\tconst getMonthName = (monthIndex: number) => monthLabelFormatter.format(createCalendarDate(currentYear, monthIndex, 1));\n\n\t/**\n\t * Проверяет, запрещён ли выбор месяца по ограничениям.\n\t */\n\tconst isDisabled = (monthIndex: number) => {\n\t\tif (!minDate && !maxDate) return false;\n\n\t\tconst monthStart = createCalendarDate(currentYear, monthIndex, 1);\n\t\tconst monthEnd = createCalendarDate(currentYear, monthIndex + 1, 0, 23, 59, 59);\n\n\t\tif (selectsPeriod) {\n\t\t\treturn !isCalendarPeriodWithinDateBounds(getCalendarPeriod(monthStart, selectionOptions), { minDate, maxDate });\n\t\t}\n\n\t\tif (minDate && monthEnd < minDate) return true;\n\t\tif (maxDate && monthStart > maxDate) return true;\n\n\t\treturn false;\n\t};\n\n\t/**\n\t * Обновляет preview-конец диапазона при движении мыши.\n\t */\n\tconst handleMonthHover = (date: Date, disabled: boolean) => {\n\t\tif (!selectsRange || !selectedStartDate || selectedEndDate || disabled) return;\n\t\tsetHoveredDate(date);\n\t};\n\n\t/**\n\t * Сбрасывает preview незавершённого диапазона при уходе курсора.\n\t */\n\tconst handleGridLeave = () => {\n\t\tif (!selectedEndDate) {\n\t\t\tsetHoveredDate(null);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={styles.monthView}>\n\t\t\t<div className={styles.monthsGrid} onMouseLeave={handleGridLeave}>\n\t\t\t\t{months.map((monthIndex) => {\n\t\t\t\t\tconst disabled = isDisabled(monthIndex);\n\t\t\t\t\tconst monthDate = createCalendarDate(currentYear, monthIndex, 1);\n\t\t\t\t\tconst rangeState = resolveDateInputPeriodRangeState({\n\t\t\t\t\t\tdate: monthDate,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\thoveredDate,\n\t\t\t\t\t\tselectsRange,\n\t\t\t\t\t\tselectionOptions\n\t\t\t\t\t});\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tkey={monthIndex}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => !disabled && onChange(monthDate)}\n\t\t\t\t\t\t\tonMouseEnter={() => handleMonthHover(monthDate, disabled)}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tdata-ui=\"calendar-month-button\"\n\t\t\t\t\t\t\tdata-action=\"select-calendar-month\"\n\t\t\t\t\t\t\tclassName={cn(styles.month, {\n\t\t\t\t\t\t\t\t[styles.selected]: rangeState.selected,\n\t\t\t\t\t\t\t\t[styles.range]: rangeState.range,\n\t\t\t\t\t\t\t\t[styles.rangeStart]: rangeState.rangeStart,\n\t\t\t\t\t\t\t\t[styles.rangeEnd]: rangeState.rangeEnd,\n\t\t\t\t\t\t\t\t[styles.disabled]: disabled\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\taria-label={monthAriaFormatter.format(monthDate)}\n\t\t\t\t\t\t\taria-pressed={rangeState.selected || rangeState.range || rangeState.rangeStart || rangeState.rangeEnd}>\n\t\t\t\t\t\t\t{getMonthName(monthIndex)}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n",".calendarView {\n\twidth: calc(18em + var(--width-add));\n}\n\n.calendarHeader {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tpadding-bottom: var(--space-sm);\n\tmargin-bottom: var(--space-sm);\n\tgap: var(--space-sm);\n\tborder-bottom: var(--border);\n}\n",".yearView {\n\tpadding: 0;\n}\n\n.yearsGrid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(3, 1fr);\n\tgap: var(--border-width);\n}\n\n.year {\n\theight: var(--control-height);\n\tcursor: pointer;\n\tborder-radius: var(--radius-xs);\n\t// font-size: var(--font-size-sm);\n\n\tbackground-color: var(--surface-1);\n\n\t&:hover:not(.disabled) {\n\t\tbackground-color: var(--surface-accent);\n\t}\n\n\t&.range {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-0);\n\t}\n\n\t&.selected,\n\t&.rangeStart,\n\t&.rangeEnd {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-accent);\n\t\tfont-weight: 600;\n\t\tfont-variation-settings: \"wght\" 600;\n\t}\n\n\t&.disabled {\n\t\tcolor: var(--content-2);\n\t\tcursor: not-allowed;\n\n\t\t&:hover {\n\t\t\tbackground: none;\n\t\t}\n\t}\n}\n","import { useState } from \"react\";\n\nimport {\n\tcreateCalendarDate,\n\tgetCalendarPeriod,\n\tisCalendarPeriodWithinDateBounds,\n\ttype CalendarPeriodOptions,\n\ttype DateRangeInput\n} from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { resolveDateInputPeriodRangeState } from \"../lib\";\n\nimport styles from \"./CalendarYearView.module.scss\";\n\nimport type { DateInputSelectionMode, DateInputWeekEndDay } from \"../lib\";\n\ninterface YearViewProps {\n\tcurrentDate: Date;\n\tvalue: DateRangeInput;\n\tonChange: (date: Date) => void;\n\tminDate?: Date;\n\tmaxDate?: Date;\n\tselectsRange?: boolean;\n\tselectsPeriod?: boolean;\n\tselectionMode?: DateInputSelectionMode;\n\tweekEndDay?: DateInputWeekEndDay;\n}\n\n/**\n * Отображает выбор года в календарной семантике без timezone-сдвига.\n */\nexport const CalendarYearView: React.FC<YearViewProps> = ({\n\tcurrentDate,\n\tvalue,\n\tonChange,\n\tminDate,\n\tmaxDate,\n\tselectsRange,\n\tselectsPeriod,\n\tselectionMode = \"day\",\n\tweekEndDay = \"sunday\"\n}) => {\n\tconst [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n\tconst startYear = Math.floor(currentDate.getFullYear() / 12) * 12;\n\tconst years = Array.from({ length: 12 }, (_, index) => startYear + index);\n\tconst selectionOptions: CalendarPeriodOptions = {\n\t\tselectionMode,\n\t\tweekEndDay\n\t};\n\tconst selectedStartDate = selectsRange && Array.isArray(value) ? value[0] : null;\n\tconst selectedEndDate = selectsRange && Array.isArray(value) ? value[1] : null;\n\n\t/**\n\t * Проверяет ограничения на выбор года.\n\t */\n\tconst isDisabled = (year: number) => {\n\t\tif (!minDate && !maxDate) return false;\n\n\t\tconst yearStart = createCalendarDate(year, 0, 1);\n\t\tconst yearEnd = createCalendarDate(year, 11, 31, 23, 59, 59);\n\n\t\tif (selectsPeriod) {\n\t\t\treturn !isCalendarPeriodWithinDateBounds(getCalendarPeriod(yearStart, selectionOptions), { minDate, maxDate });\n\t\t}\n\n\t\tif (minDate && yearEnd < minDate) return true;\n\t\tif (maxDate && yearStart > maxDate) return true;\n\n\t\treturn false;\n\t};\n\n\t/**\n\t * Обновляет preview-конец диапазона при движении мыши.\n\t */\n\tconst handleYearHover = (date: Date, disabled: boolean) => {\n\t\tif (!selectsRange || !selectedStartDate || selectedEndDate || disabled) return;\n\t\tsetHoveredDate(date);\n\t};\n\n\t/**\n\t * Сбрасывает preview незавершённого диапазона при уходе курсора.\n\t */\n\tconst handleGridLeave = () => {\n\t\tif (!selectedEndDate) {\n\t\t\tsetHoveredDate(null);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={styles.yearView}>\n\t\t\t<div className={styles.yearsGrid} onMouseLeave={handleGridLeave}>\n\t\t\t\t{years.map((year) => {\n\t\t\t\t\tconst disabled = isDisabled(year);\n\t\t\t\t\tconst yearDate = createCalendarDate(year, 0, 1);\n\t\t\t\t\tconst rangeState = resolveDateInputPeriodRangeState({\n\t\t\t\t\t\tdate: yearDate,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\thoveredDate,\n\t\t\t\t\t\tselectsRange,\n\t\t\t\t\t\tselectionOptions\n\t\t\t\t\t});\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tkey={year}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={() => !disabled && onChange(yearDate)}\n\t\t\t\t\t\t\tonMouseEnter={() => handleYearHover(yearDate, disabled)}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tdata-ui=\"calendar-year-button\"\n\t\t\t\t\t\t\tdata-action=\"select-calendar-year\"\n\t\t\t\t\t\t\tclassName={cn(styles.year, {\n\t\t\t\t\t\t\t\t[styles.selected]: rangeState.selected,\n\t\t\t\t\t\t\t\t[styles.range]: rangeState.range,\n\t\t\t\t\t\t\t\t[styles.rangeStart]: rangeState.rangeStart,\n\t\t\t\t\t\t\t\t[styles.rangeEnd]: rangeState.rangeEnd,\n\t\t\t\t\t\t\t\t[styles.disabled]: disabled\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\taria-label={year.toString()}\n\t\t\t\t\t\t\taria-pressed={rangeState.selected || rangeState.range || rangeState.rangeStart || rangeState.rangeEnd}>\n\t\t\t\t\t\t\t{year}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import { useState } from \"react\";\n\nimport {\n\taddCalendarMonths,\n\taddCalendarYears,\n\tgetCalendarPeriod,\n\tgetStartOfDay,\n\tisCalendarPeriodWithinDateBounds,\n\tisDateRangeTuple,\n\ttype CalendarPeriodOptions,\n\ttype NullableDateRange\n} from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\n\nimport { Button } from \"../../button\";\nimport { isDatePickerLevelAvailable, type CalendarType, type DateInputSelectionMode, type DateInputWeekEndDay } from \"../lib\";\n\nimport { CalendarDayView } from \"./CalendarDayView\";\nimport { CalendarMonthView } from \"./CalendarMonthView\";\nimport styles from \"./CalendarView.module.scss\";\nimport { CalendarYearView } from \"./CalendarYearView\";\n\ninterface BaseCalendarViewProps {\n\tview: CalendarType;\n\tdatePickerLevel: CalendarType;\n\tselectionMode?: DateInputSelectionMode;\n\tweekEndDay?: DateInputWeekEndDay;\n\tonViewChange: (view: CalendarType) => void;\n}\n\ninterface CalendarViewProps extends BaseCalendarViewProps {\n\tselectsRange?: boolean;\n\tvalue: Date | NullableDateRange | null;\n\tonChange: (date: Date | NullableDateRange) => void;\n\tminDate?: Date;\n\tmaxDate?: Date;\n\tcurrentDate?: Date;\n\tonCurrentDateChange?: (date: Date) => void;\n}\n\n/** Возвращает дату, к периоду которой должен перейти uncontrolled-календарь после внешней смены value. */\nfunction resolveValueCurrentDate(value: Date | NullableDateRange | null, selectsRange?: boolean): Date | undefined {\n\tif (selectsRange && isDateRangeTuple(value) && value[0] instanceof Date) {\n\t\treturn value[0];\n\t}\n\n\tif (!selectsRange && value instanceof Date) {\n\t\treturn value;\n\t}\n\n\treturn undefined;\n}\n\n/**\n * Отображает календарь выбора даты в календарной семантике без timezone-сдвига.\n */\nexport function CalendarView({\n\tview,\n\tdatePickerLevel,\n\tselectionMode = \"day\",\n\tweekEndDay = \"sunday\",\n\tonViewChange,\n\t...props\n}: CalendarViewProps) {\n\tconst [dateNow] = useState(() => getStartOfDay(new Date()));\n\tconst valueCurrentDate = resolveValueCurrentDate(props.value, props.selectsRange);\n\tconst valueCurrentDateTime = valueCurrentDate?.getTime() ?? null;\n\tconst [uncontrolledState, setUncontrolledState] = useState(() => ({\n\t\tsourceValueTime: valueCurrentDateTime,\n\t\tcurrentDate: valueCurrentDate ?? getStartOfDay(new Date())\n\t}));\n\tconst uncontrolledCurrentDate =\n\t\tvalueCurrentDate && uncontrolledState.sourceValueTime !== valueCurrentDateTime ? valueCurrentDate : uncontrolledState.currentDate;\n\tconst currentDate = props.currentDate ?? uncontrolledCurrentDate;\n\tconst selectionOptions: CalendarPeriodOptions = {\n\t\tselectionMode,\n\t\tweekEndDay\n\t};\n\n\t/**\n\t * Обновляет видимую календарную дату в управляемом или неуправляемом режиме.\n\t */\n\tconst setCurrentDate = (value: Date | ((prevValue: Date) => Date)) => {\n\t\tconst nextValue = typeof value === \"function\" ? value(currentDate) : value;\n\n\t\tif (props.currentDate === undefined) {\n\t\t\tsetUncontrolledState({\n\t\t\t\tsourceValueTime: valueCurrentDateTime,\n\t\t\t\tcurrentDate: nextValue\n\t\t\t});\n\t\t}\n\n\t\tprops.onCurrentDateChange?.(nextValue);\n\t};\n\n\t/**\n\t * Переключает видимую область календаря назад.\n\t */\n\tconst goToPrevious = () => {\n\t\tif (view === \"day\") {\n\t\t\tsetCurrentDate((prev) => addCalendarMonths(prev, -1));\n\t\t\treturn;\n\t\t}\n\n\t\tif (view === \"month\") {\n\t\t\tsetCurrentDate((prev) => addCalendarYears(prev, -1));\n\t\t\treturn;\n\t\t}\n\n\t\tsetCurrentDate((prev) => addCalendarYears(prev, -12));\n\t};\n\n\t/**\n\t * Переключает видимую область календаря вперёд.\n\t */\n\tconst goToNext = () => {\n\t\tif (view === \"day\") {\n\t\t\tsetCurrentDate((prev) => addCalendarMonths(prev, 1));\n\t\t\treturn;\n\t\t}\n\n\t\tif (view === \"month\") {\n\t\t\tsetCurrentDate((prev) => addCalendarYears(prev, 1));\n\t\t\treturn;\n\t\t}\n\n\t\tsetCurrentDate((prev) => addCalendarYears(prev, 12));\n\t};\n\n\t/**\n\t * Возвращает заголовок текущего календарного вида.\n\t */\n\tconst renderHeader = () => {\n\t\tlet title = \"\";\n\t\tif (view === \"day\") {\n\t\t\ttitle = currentDate.toLocaleDateString(\"ru-RU\", {\n\t\t\t\tmonth: \"long\",\n\t\t\t\tyear: \"numeric\"\n\t\t\t});\n\t\t} else if (view === \"month\") {\n\t\t\ttitle = currentDate.getFullYear().toString();\n\t\t} else {\n\t\t\tconst startYear = Math.floor(currentDate.getFullYear() / 12) * 12;\n\t\t\tconst endYear = startYear + 11;\n\t\t\ttitle = `${startYear} - ${endYear}`;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className={styles.calendarHeader}>\n\t\t\t\t<Button\n\t\t\t\t\ticon={<ChevronLeft />}\n\t\t\t\t\tonClick={goToPrevious}\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\taria-label=\"Предыдущий\"\n\t\t\t\t\tdata-action=\"calendar-previous\"\n\t\t\t\t/>\n\n\t\t\t\t<Button\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tif (view === \"day\") onViewChange(\"month\");\n\t\t\t\t\t\telse if (view === \"month\") onViewChange(\"year\");\n\t\t\t\t\t}}\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\tclassName=\"flex1\"\n\t\t\t\t\tdata-ui=\"calendar-view-switch-button\"\n\t\t\t\t\tdata-action=\"calendar-switch-view\">\n\t\t\t\t\t{title}\n\t\t\t\t</Button>\n\n\t\t\t\t<Button\n\t\t\t\t\ticon={<ChevronRight />}\n\t\t\t\t\tonClick={goToNext}\n\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\taria-label=\"Следующий\"\n\t\t\t\t\tdata-ui=\"calendar-next-button\"\n\t\t\t\t\tdata-action=\"calendar-next\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t};\n\n\t/**\n\t * Отрисовывает активный режим календаря.\n\t */\n\tconst renderView = () => {\n\t\tconst handleDateSelect = (date: Date) => {\n\t\t\tconst selectedPeriod = getCalendarPeriod(date, selectionOptions);\n\t\t\tif (!selectedPeriod || !isCalendarPeriodWithinDateBounds(selectedPeriod, { minDate: props.minDate, maxDate: props.maxDate }))\n\t\t\t\treturn;\n\n\t\t\tif (props.selectsRange) {\n\t\t\t\tlet selectedStartDate: Date | null = null;\n\t\t\t\tlet selectedEndDate: Date | null = null;\n\n\t\t\t\tif (Array.isArray(props.value)) {\n\t\t\t\t\t[selectedStartDate, selectedEndDate] = props.value;\n\t\t\t\t}\n\n\t\t\t\tif (!selectedStartDate || selectedEndDate) {\n\t\t\t\t\tprops.onChange([selectedPeriod.start, null]);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst startPeriod = getCalendarPeriod(selectedStartDate, selectionOptions);\n\t\t\t\tif (!startPeriod) return;\n\n\t\t\t\tif (selectedPeriod.start < startPeriod.start) {\n\t\t\t\t\tprops.onChange([selectedPeriod.start, startPeriod.end]);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tprops.onChange([startPeriod.start, selectedPeriod.end]);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tprops.onChange(selectedPeriod.start);\n\t\t};\n\n\t\tconst handleMonthSelect = (date: Date) => {\n\t\t\tsetCurrentDate(date);\n\n\t\t\tif (selectionMode === \"month\" || !isDatePickerLevelAvailable(\"day\", datePickerLevel)) {\n\t\t\t\thandleDateSelect(date);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonViewChange(\"day\");\n\t\t};\n\n\t\tconst handleYearSelect = (date: Date) => {\n\t\t\tsetCurrentDate(date);\n\n\t\t\tif (selectionMode === \"year\" || !isDatePickerLevelAvailable(\"month\", datePickerLevel)) {\n\t\t\t\thandleDateSelect(date);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonViewChange(\"month\");\n\t\t};\n\n\t\tswitch (view) {\n\t\t\tcase \"day\":\n\t\t\t\treturn (\n\t\t\t\t\t<CalendarDayView\n\t\t\t\t\t\tnow={dateNow}\n\t\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\t\tvalue={props.value}\n\t\t\t\t\t\tonChange={handleDateSelect}\n\t\t\t\t\t\tminDate={props.minDate}\n\t\t\t\t\t\tmaxDate={props.maxDate}\n\t\t\t\t\t\tselectsRange={props.selectsRange}\n\t\t\t\t\t\tselectionMode={selectionMode}\n\t\t\t\t\t\tweekEndDay={weekEndDay}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"month\":\n\t\t\t\treturn (\n\t\t\t\t\t<CalendarMonthView\n\t\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\t\tvalue={props.value}\n\t\t\t\t\t\tonChange={handleMonthSelect}\n\t\t\t\t\t\tminDate={props.minDate}\n\t\t\t\t\t\tmaxDate={props.maxDate}\n\t\t\t\t\t\tselectsRange={props.selectsRange}\n\t\t\t\t\t\tselectsPeriod={selectionMode === \"month\" || !isDatePickerLevelAvailable(\"day\", datePickerLevel)}\n\t\t\t\t\t\tselectionMode={selectionMode}\n\t\t\t\t\t\tweekEndDay={weekEndDay}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase \"year\":\n\t\t\t\treturn (\n\t\t\t\t\t<CalendarYearView\n\t\t\t\t\t\tcurrentDate={currentDate}\n\t\t\t\t\t\tvalue={props.value}\n\t\t\t\t\t\tonChange={handleYearSelect}\n\t\t\t\t\t\tminDate={props.minDate}\n\t\t\t\t\t\tmaxDate={props.maxDate}\n\t\t\t\t\t\tselectsRange={props.selectsRange}\n\t\t\t\t\t\tselectsPeriod={selectionMode === \"year\" || !isDatePickerLevelAvailable(\"month\", datePickerLevel)}\n\t\t\t\t\t\tselectionMode={selectionMode}\n\t\t\t\t\t\tweekEndDay={weekEndDay}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={styles.calendarView}>\n\t\t\t{renderHeader()}\n\t\t\t{renderView()}\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|