@moysklad/uikit 30.4.0 → 31.20.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/README.md +9 -4
- package/dist/colorVariables.css +23 -1
- package/dist/components/AutoComplete/AutoComplete.js +2 -2
- package/dist/components/BentoBlock/BentoBlock.d.ts +15 -0
- package/dist/components/BentoBlock/BentoBlock.js +20 -0
- package/dist/components/BentoBlock/BentoBlock.module.js +9 -0
- package/dist/components/BentoBlock/BentoBlock_module.css +50 -0
- package/dist/components/BentoBlock/consts.d.ts +14 -0
- package/dist/components/BentoBlock/consts.js +15 -0
- package/dist/components/Button/Button.d.ts +5 -2
- package/dist/components/Button/Button.js +28 -19
- package/dist/components/Button/Button_module.css +16 -14
- package/dist/components/Checkbox/Checkbox.js +1 -1
- package/dist/components/DateRange/ArrowButton/ArrowButton.module.js +6 -0
- package/dist/components/DateRange/ArrowButton/ArrowButton_module.css +26 -0
- package/dist/components/DateRange/ArrowButton/index.d.ts +8 -0
- package/dist/components/DateRange/ArrowButton/index.js +23 -0
- package/dist/components/DateRange/Calendar/index.d.ts +12 -0
- package/dist/components/DateRange/Calendar/index.js +22 -0
- package/dist/components/DateRange/DateRange.d.ts +6 -0
- package/dist/components/DateRange/DateRange.js +51 -0
- package/dist/components/DateRange/DateRangeDefaultTrigger/DateRangeDefaultTrigger.d.ts +44 -0
- package/dist/components/DateRange/DateRangeDefaultTrigger/DateRangeDefaultTrigger.js +128 -0
- package/dist/components/DateRange/DateRangeDefaultTrigger/DateRangeDefaultTrigger.module.js +19 -0
- package/dist/components/DateRange/DateRangeDefaultTrigger/DateRangeDefaultTrigger_module.css +170 -0
- package/dist/components/DateRange/DateRangeDefaultTrigger.module.js +12 -0
- package/dist/components/DateRange/DateRangeDefaultTrigger_module.css +43 -0
- package/dist/components/DateRange/DateRangeInput/DateRangeInput.d.ts +4 -0
- package/dist/components/DateRange/DateRangeInput/DateRangeInput.js +69 -0
- package/dist/components/DateRange/Day/Day.module.js +16 -0
- package/dist/components/DateRange/Day/Day_module.css +80 -0
- package/dist/components/DateRange/Day/index.d.ts +12 -0
- package/dist/components/DateRange/Day/index.js +39 -0
- package/dist/components/DateRange/DropdownContent/DropdownContent.module.js +10 -0
- package/dist/components/DateRange/DropdownContent/DropdownContent_module.css +34 -0
- package/dist/components/DateRange/DropdownContent/index.d.ts +24 -0
- package/dist/components/DateRange/DropdownContent/index.js +132 -0
- package/dist/components/DateRange/InputContent/InputContent.module.js +9 -0
- package/dist/components/DateRange/InputContent/InputContent_module.css +31 -0
- package/dist/components/DateRange/InputContent/index.d.ts +12 -0
- package/dist/components/DateRange/InputContent/index.js +59 -0
- package/dist/components/DateRange/Month/Month.module.js +7 -0
- package/dist/components/DateRange/Month/Month_module.css +17 -0
- package/dist/components/DateRange/Month/index.d.ts +15 -0
- package/dist/components/DateRange/Month/index.js +158 -0
- package/dist/components/DateRange/Month/utils.d.ts +2 -0
- package/dist/components/DateRange/Month/utils.js +8 -0
- package/dist/components/DateRange/MonthHeader/MonthHeader.module.js +5 -0
- package/dist/components/DateRange/MonthHeader/MonthHeader_module.css +10 -0
- package/dist/components/DateRange/MonthHeader/index.d.ts +5 -0
- package/dist/components/DateRange/MonthHeader/index.js +26 -0
- package/dist/components/DateRange/MonthList/MonthList.module.js +7 -0
- package/dist/components/DateRange/MonthList/MonthList_module.css +25 -0
- package/dist/components/DateRange/MonthList/index.d.ts +11 -0
- package/dist/components/DateRange/MonthList/index.js +91 -0
- package/dist/components/DateRange/PeriodVariantList/PeriodVariantList.module.js +9 -0
- package/dist/components/DateRange/PeriodVariantList/PeriodVariantList_module.css +18 -0
- package/dist/components/DateRange/PeriodVariantList/index.d.ts +18 -0
- package/dist/components/DateRange/PeriodVariantList/index.js +83 -0
- package/dist/components/DateRange/SideMenu/SideMenu.module.js +6 -0
- package/dist/components/DateRange/SideMenu/SideMenu_module.css +18 -0
- package/dist/components/DateRange/SideMenu/index.d.ts +13 -0
- package/dist/components/DateRange/SideMenu/index.js +73 -0
- package/dist/components/DateRange/TooltipedText/index.d.ts +8 -0
- package/dist/components/DateRange/TooltipedText/index.js +30 -0
- package/dist/components/DateRange/Year/Year.module.js +11 -0
- package/dist/components/DateRange/Year/Year_module.css +60 -0
- package/dist/components/DateRange/Year/index.d.ts +8 -0
- package/dist/components/DateRange/Year/index.js +47 -0
- package/dist/components/DateRange/YearsList/YearsList.module.js +5 -0
- package/dist/components/DateRange/YearsList/YearsList_module.css +15 -0
- package/dist/components/DateRange/YearsList/index.d.ts +12 -0
- package/dist/components/DateRange/YearsList/index.js +47 -0
- package/dist/components/DateRange/consts.d.ts +20 -0
- package/dist/components/DateRange/consts.js +81 -0
- package/dist/components/DateRange/formatDateRangeValue.d.ts +24 -0
- package/dist/components/DateRange/formatDateRangeValue.js +116 -0
- package/dist/components/DateRange/hooks/useCalendar.d.ts +13 -0
- package/dist/components/DateRange/hooks/useCalendar.js +88 -0
- package/dist/components/DateRange/hooks/useDateRange.d.ts +392 -0
- package/dist/components/DateRange/hooks/useDateRange.js +36 -0
- package/dist/components/DateRange/hooks/useDateRangeDropdown.d.ts +47 -0
- package/dist/components/DateRange/hooks/useDateRangeDropdown.js +117 -0
- package/dist/components/DateRange/hooks/useDateRangeValue.d.ts +56 -0
- package/dist/components/DateRange/hooks/useDateRangeValue.js +173 -0
- package/dist/components/DateRange/hooks/useMaskInput.d.ts +18 -0
- package/dist/components/DateRange/hooks/useMaskInput.js +169 -0
- package/dist/components/DateRange/hooks/useMonthList.d.ts +12 -0
- package/dist/components/DateRange/hooks/useMonthList.js +80 -0
- package/dist/components/DateRange/hooks/useSideMenu.d.ts +14 -0
- package/dist/components/DateRange/hooks/useSideMenu.js +113 -0
- package/dist/components/DateRange/index.d.ts +1 -0
- package/dist/components/DateRange/index.js +1 -0
- package/dist/components/DateRange/locale/en-US.d.ts +2 -0
- package/dist/components/DateRange/locale/en-US.js +82 -0
- package/dist/components/DateRange/locale/index.d.ts +4 -0
- package/dist/components/DateRange/locale/index.js +3 -0
- package/dist/components/DateRange/locale/ru-RU.d.ts +2 -0
- package/dist/components/DateRange/locale/ru-RU.js +82 -0
- package/dist/components/DateRange/locale/types.d.ts +9 -0
- package/dist/components/DateRange/locale/types.js +7 -0
- package/dist/components/DateRange/locale/useLocale.d.ts +8 -0
- package/dist/components/DateRange/locale/useLocale.js +31 -0
- package/dist/components/DateRange/props.d.ts +39 -0
- package/dist/components/DateRange/props.js +0 -0
- package/dist/components/DateRange/types.d.ts +126 -0
- package/dist/components/DateRange/types.js +13 -0
- package/dist/components/DateRange/utils.d.ts +33 -0
- package/dist/components/DateRange/utils.js +105 -0
- package/dist/components/Datepicker/Datepicker.d.ts +3 -1
- package/dist/components/Datepicker/Datepicker.js +4 -2
- package/dist/components/EditableDate/DropdownContent/DropdownContent.d.ts +9 -0
- package/dist/components/EditableDate/DropdownContent/DropdownContent.js +36 -0
- package/dist/components/EditableDate/EditableDate.d.ts +9 -0
- package/dist/components/EditableDate/EditableDate.js +142 -0
- package/dist/components/EditableDate/EditableDate.module.js +7 -0
- package/dist/components/EditableDate/EditableDate_module.css +32 -0
- package/dist/components/EditableTitle/EditableTitle.d.ts +7 -2
- package/dist/components/EditableTitle/EditableTitle.js +63 -31
- package/dist/components/EditableTitle/EditableTitle.module.js +1 -0
- package/dist/components/EditableTitle/EditableTitle_module.css +6 -0
- package/dist/components/EmptyState/EmptyState.d.ts +1 -1
- package/dist/components/EmptyStateLarge/EmptyStateLarge_module.css +2 -2
- package/dist/components/Help/Help_module.css +1 -1
- package/dist/components/Informer/Informer.d.ts +37 -0
- package/dist/components/Informer/Informer.js +36 -0
- package/dist/components/Informer/Informer.module.js +7 -0
- package/dist/components/Informer/Informer_module.css +24 -0
- package/dist/components/Input/Input.js +10 -5
- package/dist/components/Input/components/InfoBlock.d.ts +3 -1
- package/dist/components/Input/components/InfoBlock.js +7 -4
- package/dist/components/InputUnit/InputUnit.js +4 -4
- package/dist/components/LabelValue/LabelValue.d.ts +14 -10
- package/dist/components/LabelValue/LabelValue.js +46 -25
- package/dist/components/LabelValue/LabelValue.module.js +10 -4
- package/dist/components/LabelValue/LabelValue_module.css +53 -19
- package/dist/components/LabelValue/ValueBlock/ValueBlock.d.ts +2 -0
- package/dist/components/LabelValue/ValueBlock/ValueBlock.js +82 -0
- package/dist/components/LabelValue/ValueBlockWrapper.d.ts +5 -0
- package/dist/components/LabelValue/ValueBlockWrapper.js +13 -0
- package/dist/components/LabelValue/ValueIcon.d.ts +4 -0
- package/dist/components/LabelValue/ValueIcon.js +9 -0
- package/dist/components/LabelValue/ValueText.d.ts +10 -0
- package/dist/components/LabelValue/ValueText.js +24 -0
- package/dist/components/LabelValue/ValueTextWithHint.d.ts +12 -0
- package/dist/components/LabelValue/ValueTextWithHint.js +29 -0
- package/dist/components/LabelValue/hooks/useValueBlock.d.ts +29 -0
- package/dist/components/LabelValue/hooks/useValueBlock.js +72 -0
- package/dist/components/LabelValue/{ValueBlock/index.d.ts → types.d.ts} +8 -4
- package/dist/components/LabelValue/types.js +0 -0
- package/dist/components/LabelValueDate/LabelValueDate.js +2 -2
- package/dist/components/LabelValueFile/DeleteButton/DeleteButton.d.ts +9 -0
- package/dist/components/LabelValueFile/DeleteButton/DeleteButton.js +17 -0
- package/dist/components/LabelValueFile/FilePreviewIcon/FilePreviewIcon.d.ts +7 -0
- package/dist/components/LabelValueFile/FilePreviewIcon/FilePreviewIcon.js +15 -0
- package/dist/components/LabelValueFile/FilePreviewIcon/FilePreviewIcon.module.js +6 -0
- package/dist/components/LabelValueFile/FilePreviewIcon/FilePreviewIcon_module.css +10 -0
- package/dist/components/LabelValueFile/ImagePreview/ImagePreview.d.ts +8 -0
- package/dist/components/LabelValueFile/ImagePreview/ImagePreview.js +53 -0
- package/dist/components/LabelValueFile/ImagePreview/ImagePreview.module.js +6 -0
- package/dist/components/LabelValueFile/ImagePreview/ImagePreview_module.css +13 -0
- package/dist/components/LabelValueFile/LabelValueFile.d.ts +7 -0
- package/dist/components/LabelValueFile/LabelValueFile.js +42 -0
- package/dist/components/LabelValueFile/LabelValueFile.module.js +12 -0
- package/dist/components/LabelValueFile/LabelValueFile_module.css +57 -0
- package/dist/components/LabelValueFile/ValueBlock/ValueBlock.d.ts +15 -0
- package/dist/components/LabelValueFile/ValueBlock/ValueBlock.js +130 -0
- package/dist/components/LabelValueFile/ValueBlock/ValueBlock.module.js +7 -0
- package/dist/components/LabelValueFile/ValueBlock/ValueBlock_module.css +17 -0
- package/dist/components/LabelValueInput/DropdownConnent/DropdownContent.d.ts +2 -0
- package/dist/components/LabelValueInput/DropdownConnent/DropdownContent.js +2 -0
- package/dist/components/LabelValueLink/LabelValueLink.d.ts +2 -0
- package/dist/components/LabelValueLink/LabelValueLink.js +76 -0
- package/dist/components/LabelValueLink/LabelValueLink.module.js +6 -0
- package/dist/components/LabelValueLink/LabelValueLink_module.css +11 -0
- package/dist/components/LabelValueLink/ValueBlock/LabelValueLinkValueBlock.d.ts +2 -0
- package/dist/components/LabelValueLink/ValueBlock/LabelValueLinkValueBlock.js +117 -0
- package/dist/components/LabelValueLink/ValueBlock/LabelValueLinkValueBlock.module.js +6 -0
- package/dist/components/LabelValueLink/ValueBlock/LabelValueLinkValueBlock_module.css +8 -0
- package/dist/components/LabelValueLink/normalizeLinkValue.d.ts +1 -0
- package/dist/components/LabelValueLink/normalizeLinkValue.js +10 -0
- package/dist/components/LabelValueLink/useLinkDropdownValue.d.ts +15 -0
- package/dist/components/LabelValueLink/useLinkDropdownValue.js +26 -0
- package/dist/components/LabelValueSelect/Input/index.js +1 -1
- package/dist/components/LabelValueSelect/LabelValueSelect.d.ts +4 -2
- package/dist/components/Layout/Layout.d.ts +13 -0
- package/dist/components/Layout/Layout.js +41 -0
- package/dist/components/Layout/Layout.module.js +15 -0
- package/dist/components/Layout/Layout_module.css +77 -0
- package/dist/components/Link/Link.d.ts +5 -6
- package/dist/components/Link/Link.js +35 -9
- package/dist/components/Link/Link.module.js +1 -0
- package/dist/components/Link/Link_module.css +9 -0
- package/dist/components/MentionsTextfield/Mentions/style.css +2 -6
- package/dist/components/MentionsTextfield/MentionsTextfield.js +2 -1
- package/dist/components/Multiselect/AllSelectedChip/AllSelectedChip.d.ts +8 -0
- package/dist/components/Multiselect/AllSelectedChip/AllSelectedChip.js +13 -0
- package/dist/components/Multiselect/AllSelectedChip/AllSelectedChip.module.js +5 -0
- package/dist/components/Multiselect/AllSelectedChip/AllSelectedChip_module.css +9 -0
- package/dist/components/Multiselect/DropdownContent/MultiselectDropdownContent.d.ts +12 -1
- package/dist/components/Multiselect/DropdownContent/MultiselectDropdownContent.js +20 -15
- package/dist/components/Multiselect/Input/Input.d.ts +6 -2
- package/dist/components/Multiselect/Input/Input.js +18 -4
- package/dist/components/Multiselect/Multiselect.d.ts +4 -2
- package/dist/components/Multiselect/Multiselect.js +14 -2
- package/dist/components/Multiselect/ShortDropdownContent/ShortDropdownContent.js +2 -1
- package/dist/components/Multiselect/TextField/MultiselectTextField.d.ts +5 -1
- package/dist/components/Multiselect/TextField/MultiselectTextField.js +15 -2
- package/dist/components/Multiselect/lib/consts.d.ts +1 -1
- package/dist/components/Multiselect/lib/consts.js +1 -1
- package/dist/components/Multiselect/lib/helpers.d.ts +24 -0
- package/dist/components/Multiselect/lib/helpers.js +15 -0
- package/dist/components/Multiselect/types.d.ts +2 -0
- package/dist/components/Panel/Panel.d.ts +34 -0
- package/dist/components/Panel/Panel.js +39 -0
- package/dist/components/Panel/Panel.module.js +6 -0
- package/dist/components/Panel/Panel_module.css +17 -0
- package/dist/components/Radiobutton/Radiobutton.js +1 -1
- package/dist/components/Radiobutton/Radiobutton_module.css +5 -0
- package/dist/components/SearchInput/SearchInput_module.css +1 -1
- package/dist/components/Select/ArchivedInputValue/ArchivedInputValue.d.ts +3 -4
- package/dist/components/Select/ArchivedInputValue/ArchivedInputValue.js +19 -24
- package/dist/components/Select/ArchivedInputValue/ArchivedInputValue.module.js +1 -2
- package/dist/components/Select/ArchivedInputValue/ArchivedInputValue_module.css +5 -12
- package/dist/components/Select/Combobox/Combobox.d.ts +3 -1
- package/dist/components/Select/Combobox/Combobox.js +19 -8
- package/dist/components/Select/Combobox/Combobox.module.js +4 -3
- package/dist/components/Select/Combobox/Combobox_module.css +15 -9
- package/dist/components/Select/OptionsList/OptionsList.d.ts +3 -1
- package/dist/components/Select/OptionsList/OptionsList.js +37 -21
- package/dist/components/Select/OptionsList/OptionsList.module.js +2 -0
- package/dist/components/Select/OptionsList/OptionsList_module.css +15 -0
- package/dist/components/Select/Select.d.ts +2 -3
- package/dist/components/Select/Select.js +17 -7
- package/dist/components/Select/Select_module.css +5 -0
- package/dist/components/Select/ShortVariant/ShortVariant.js +1 -1
- package/dist/components/StatusBadge/StatusBadge.d.ts +28 -0
- package/dist/components/StatusBadge/StatusBadge.js +167 -0
- package/dist/components/StatusBadge/StatusBadge.module.js +37 -0
- package/dist/components/StatusBadge/StatusBadge_module.css +149 -0
- package/dist/components/StatusBadge/utils/StatusBadgeColor.d.ts +21 -0
- package/dist/components/StatusBadge/utils/StatusBadgeColor.js +20 -0
- package/dist/components/StatusBadge/utils/getStatusBadgeColor.d.ts +2 -0
- package/dist/components/StatusBadge/utils/getStatusBadgeColor.js +8 -0
- package/dist/components/Textfield/Textfield.d.ts +7 -2
- package/dist/components/Textfield/Textfield.js +2 -1
- package/dist/components/Textfield/components/Container/Container.d.ts +2 -0
- package/dist/components/Textfield/components/Container/Container.js +17 -6
- package/dist/components/Textfield/components/Container/Container.module.js +2 -1
- package/dist/components/Textfield/components/Container/Container_module.css +4 -0
- package/dist/components/Toggle/Toggle.js +1 -1
- package/dist/components/ViewersStack/ViewersStack.js +5 -3
- package/dist/components/_shared/CustomDatepickerDropdownContent/CustomDatepickerDropdownContent.d.ts +12 -0
- package/dist/components/{LabelValueDate/DropdownContent/index.js → _shared/CustomDatepickerDropdownContent/CustomDatepickerDropdownContent.js} +10 -10
- package/dist/components/_shared/CustomDatepickerDropdownContent/CustomDatepickerDropdownContent.module.js +9 -0
- package/dist/components/{LabelValueDate/DropdownContent/DropdownContent_module.css → _shared/CustomDatepickerDropdownContent/CustomDatepickerDropdownContent_module.css} +6 -6
- package/dist/components/_shared/FieldLabel/FieldLabel.d.ts +18 -0
- package/dist/components/{FieldLabel → _shared/FieldLabel}/FieldLabel.js +19 -12
- package/dist/components/_shared/FieldLabel/FieldLabel.module.js +11 -0
- package/dist/components/{FieldLabel → _shared/FieldLabel}/FieldLabel_module.css +8 -8
- package/dist/components/{FieldLabel → _shared/FieldLabel}/components/HelpButton.d.ts +1 -1
- package/dist/components/{FieldLabel → _shared/FieldLabel}/components/HelpButton.js +2 -2
- package/dist/components/{FieldLabel → _shared/FieldLabel}/components/HelpButton.module.js +1 -1
- package/dist/components/{FieldLabel → _shared/FieldLabel}/components/HelpButton_module.css +1 -1
- package/dist/components/{FieldRow → _shared/FieldRow}/FieldRow.d.ts +1 -1
- package/dist/components/{FieldRow → _shared/FieldRow}/FieldRow.js +1 -1
- package/dist/components/{FieldRow → _shared/FieldRow}/FieldRow.module.js +3 -3
- package/dist/components/{FieldRow → _shared/FieldRow}/FieldRow_module.css +3 -3
- package/dist/components/{Info → _shared/Info}/Info.d.ts +3 -1
- package/dist/components/{Info → _shared/Info}/Info.js +9 -6
- package/dist/components/_shared/Info/Info.module.js +9 -0
- package/dist/components/{Info → _shared/Info}/Info_module.css +6 -6
- package/dist/components/_shared/Info/types/index.d.ts +6 -0
- package/dist/components/_shared/Info/types/index.js +5 -0
- package/dist/components/{InputClear → _shared/InputClear}/InputClear.d.ts +1 -1
- package/dist/components/{InputClear → _shared/InputClear}/InputClear.js +2 -2
- package/dist/components/{InputClear → _shared/InputClear}/InputClear.module.js +3 -3
- package/dist/components/{InputClear → _shared/InputClear}/InputClear_module.css +5 -5
- package/dist/components/_shared/utils/polymorphicClickableTypes.d.ts +17 -0
- package/dist/components/_shared/utils/polymorphicClickableTypes.js +7 -0
- package/dist/data-grid/Filters/DateRangeFilter/DropdownContent/index.js +3 -3
- package/dist/data-grid/Filters/DateRangeFilter/InputContent/index.js +29 -26
- package/dist/data-grid/Filters/DateRangeFilter/PeriodVariantList/index.js +5 -3
- package/dist/data-grid/Filters/DateRangeFilter/Year/index.js +3 -3
- package/dist/data-grid/Filters/DateRangeFilter/consts.js +6 -6
- package/dist/data-grid/Filters/DateRangeFilter/hooks/useMaskInput.js +6 -6
- package/dist/data-grid/Filters/DateRangeFilter/hooks/useSideMenu.js +1 -4
- package/dist/data-grid/Filters/DateRangeFilter/types.d.ts +68 -56
- package/dist/data-grid/Filters/FiltersContainer/FiltersContainer.js +2 -1
- package/dist/data-grid/Filters/FiltersContainer/utils/useRenderParams.d.ts +1 -0
- package/dist/data-grid/Filters/FiltersContainer/utils/useRenderParams.js +14 -6
- package/dist/data-grid/Filters/MultiselectFilter/MultiselectFilter.js +2 -2
- package/dist/data-grid/Filters/OutlineInput/OutlineInput.js +2 -2
- package/dist/data-grid/Filters/OutlineInput/OutlineInput_module.css +1 -1
- package/dist/data-grid/Table/Table_module.css +0 -1
- package/dist/data-grid/cells/ImageCell/ImageMiniature/ImageMiniature_module.css +1 -1
- package/dist/data-grid/cells/components/TableNumberInput/TableNumberInput.d.ts +1 -0
- package/dist/data-grid/cells/components/TableNumberInput/TableNumberInput.js +17 -5
- package/dist/data-grid/cells/components/TableSelect/TableSelect.js +3 -2
- package/dist/data-grid/headers/components/Dropdown/Dropdown.d.ts +3 -0
- package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.js +1 -0
- package/dist/data-grid/index.d.ts +0 -4
- package/dist/data-grid/locale/en-US.js +68 -56
- package/dist/data-grid/locale/ru-RU.js +68 -56
- package/dist/data-grid/locale/useLocale.d.ts +6 -1
- package/dist/data-grid/locale/useLocale.js +14 -5
- package/dist/hooks/useIsElementOverflowing/index.d.ts +1 -0
- package/dist/hooks/useIsElementOverflowing/index.js +8 -2
- package/dist/hooks/useOverflowHint/index.d.ts +7 -0
- package/dist/hooks/useOverflowHint/index.js +16 -0
- package/dist/hooks/useTextField/useTextField.d.ts +1 -1
- package/dist/icon/components/MsLogo12Icon.d.ts +8 -0
- package/dist/icon/components/MsLogo12Icon.js +28 -0
- package/dist/icon/components/MsLogo16Icon.d.ts +8 -0
- package/dist/icon/components/MsLogo16Icon.js +26 -0
- package/dist/icon/components/MsLogo20Icon.d.ts +8 -0
- package/dist/icon/components/MsLogo20Icon.js +28 -0
- package/dist/icon/components/Phone12Icon.d.ts +8 -0
- package/dist/icon/components/Phone12Icon.js +18 -0
- package/dist/icon/components/Phone16Icon.d.ts +8 -0
- package/dist/icon/components/Phone16Icon.js +17 -0
- package/dist/icon/components/Phone20Icon.d.ts +8 -0
- package/dist/icon/components/Phone20Icon.js +18 -0
- package/dist/icon/index.d.ts +6 -0
- package/dist/icon/index.js +6 -0
- package/dist/index.d.ts +9 -1
- package/dist/index.js +8 -0
- package/dist/utils/checkIsArchivedValue.d.ts +2 -0
- package/dist/utils/checkIsArchivedValue.js +5 -0
- package/dist/utils/utils.d.ts +1 -0
- package/dist/utils/utils.js +1 -0
- package/package.json +70 -13
- package/dist/components/FieldLabel/FieldLabel.d.ts +0 -17
- package/dist/components/FieldLabel/FieldLabel.module.js +0 -11
- package/dist/components/Info/Info.module.js +0 -9
- package/dist/components/LabelValue/ValueBlock/index.js +0 -138
- package/dist/components/LabelValue/hooks/useTooltip.d.ts +0 -8
- package/dist/components/LabelValue/hooks/useTooltip.js +0 -16
- package/dist/components/LabelValueDate/DropdownContent/DropdownContent.module.js +0 -9
- package/dist/components/LabelValueDate/DropdownContent/index.d.ts +0 -12
- package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.d.ts +0 -7
- package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.js +0 -27
- package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.module.js +0 -8
- package/dist/components/MentionsTextfield/OptionForStory/OptionForStory_module.css +0 -25
- package/dist/components/MentionsTextfield/OptionForStory/index.d.ts +0 -1
- package/dist/components/MentionsTextfield/OptionForStory/index.js +0 -1
- package/dist/components/Textfield/components/Label/Label.d.ts +0 -11
- package/dist/components/Textfield/components/Label/Label.js +0 -38
- package/dist/components/Textfield/components/Label/Label.module.js +0 -7
- package/dist/components/Textfield/components/Label/Label_module.css +0 -17
- package/dist/components/Textfield/components/Label/index.d.ts +0 -1
- package/dist/components/Textfield/components/Label/index.js +0 -1
- /package/dist/components/{FieldLabel → _shared/FieldLabel}/FieldLabel.constants.d.ts +0 -0
- /package/dist/components/{FieldLabel → _shared/FieldLabel}/FieldLabel.constants.js +0 -0
- /package/dist/components/{FieldLabel → _shared/FieldLabel}/components/index.d.ts +0 -0
- /package/dist/components/{FieldLabel → _shared/FieldLabel}/components/index.js +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
.dropdownContainer-jyFL59 {
|
|
2
|
+
outline-offset: -1px;
|
|
3
|
+
border-radius: inherit;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
display: flex;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.mainContent-geLVXa {
|
|
9
|
+
display: flex;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.dropdownFooter-mwLKEe {
|
|
13
|
+
border-top: 1px solid var(--border-normal, #d1d6df);
|
|
14
|
+
border-bottom: 1px solid #0000;
|
|
15
|
+
justify-content: space-between;
|
|
16
|
+
align-items: center;
|
|
17
|
+
height: 42px;
|
|
18
|
+
padding: 0 16px;
|
|
19
|
+
display: flex;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.calendarWrapper-GxG8uE {
|
|
23
|
+
border-left: 1px solid var(--border-normal, #d1d6df);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.toggleWrapper-gS1WLz {
|
|
27
|
+
align-items: center;
|
|
28
|
+
display: flex;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.toggleTooltipOverlay-iWgQ7L {
|
|
32
|
+
max-width: 244px;
|
|
33
|
+
}
|
|
34
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type Ref, type RefObject } from 'react';
|
|
2
|
+
import type { VirtuosoHandle } from 'react-virtuoso';
|
|
3
|
+
import type { PeriodVariantListRef } from '../PeriodVariantList';
|
|
4
|
+
import type { DateRangeFeatureProps, DateRangeValue } from '../types';
|
|
5
|
+
interface DropdownContentProps extends DateRangeFeatureProps {
|
|
6
|
+
value: DateRangeValue;
|
|
7
|
+
withTime: boolean;
|
|
8
|
+
hintZIndex?: number;
|
|
9
|
+
minDate: Date;
|
|
10
|
+
maxDate: Date;
|
|
11
|
+
requiredDate?: boolean;
|
|
12
|
+
virtuosoRef?: RefObject<VirtuosoHandle>;
|
|
13
|
+
variantsListRef?: Ref<PeriodVariantListRef>;
|
|
14
|
+
onChangeWithTime?: (withTime: boolean, options?: {
|
|
15
|
+
notChangeInputMask?: boolean;
|
|
16
|
+
}) => void;
|
|
17
|
+
onChange?: (value: DateRangeValue) => void;
|
|
18
|
+
onClearButtonClick?: () => void;
|
|
19
|
+
onPickDate?: (selectedDate: Date) => void;
|
|
20
|
+
scrollToMonthHandler?: (monthDate: Date) => void;
|
|
21
|
+
handleClose?: () => void;
|
|
22
|
+
}
|
|
23
|
+
export declare const DropdownContent: (props: DropdownContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { Button } from "../../Button/Button.js";
|
|
4
|
+
import { Hint } from "../../Hint/Hint.js";
|
|
5
|
+
import { Text, TextColor } from "../../Text/Text.js";
|
|
6
|
+
import { Toggle } from "../../Toggle/Toggle.js";
|
|
7
|
+
import { FilterUpdate20Icon } from "../../../icon/index.js";
|
|
8
|
+
import { Calendar } from "../Calendar/index.js";
|
|
9
|
+
import { CalendarVariant, DEFAULT_HINT_Z_INDEX, NON_CALENDAR_VARIANTS } from "../consts.js";
|
|
10
|
+
import { useSideMenu } from "../hooks/useSideMenu.js";
|
|
11
|
+
import { useLocale } from "../locale/index.js";
|
|
12
|
+
import { SideMenu } from "../SideMenu/index.js";
|
|
13
|
+
import { getPeriodValue, isDayValue, isValuePeriod } from "../utils.js";
|
|
14
|
+
import DropdownContent_module from "./DropdownContent.module.js";
|
|
15
|
+
const DropdownContent = (props)=>{
|
|
16
|
+
const locale = useLocale('DateRange');
|
|
17
|
+
const handleCloseRef = useRef(props.handleClose);
|
|
18
|
+
handleCloseRef.current = props.handleClose;
|
|
19
|
+
const isTimeToggleVisible = false !== props.withTimeSelection && !NON_CALENDAR_VARIANTS.includes(props.value.type);
|
|
20
|
+
const isTimeToggleDisabled = props.value.type !== CalendarVariant.period;
|
|
21
|
+
const handleChangeMode = (value)=>{
|
|
22
|
+
props.onChange?.(value);
|
|
23
|
+
props.onChangeWithTime?.(false, {
|
|
24
|
+
notChangeInputMask: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
const sideMenu = useSideMenu({
|
|
28
|
+
value: props.value,
|
|
29
|
+
requiredDate: props.requiredDate,
|
|
30
|
+
onChangeValue: handleChangeMode,
|
|
31
|
+
handleScrollToMoth: props.scrollToMonthHandler
|
|
32
|
+
});
|
|
33
|
+
const showCalendar = !NON_CALENDAR_VARIANTS.includes(props.value.type);
|
|
34
|
+
const isClearValueVisible = (()=>{
|
|
35
|
+
if (false === props.withClearButton) return false;
|
|
36
|
+
if (isValuePeriod(props.value.value)) {
|
|
37
|
+
const { startDate, endDate } = getPeriodValue(props.value.value);
|
|
38
|
+
return !!startDate && !!endDate;
|
|
39
|
+
}
|
|
40
|
+
if (isDayValue(props.value)) return !!props.value.value;
|
|
41
|
+
return true;
|
|
42
|
+
})();
|
|
43
|
+
const handleSelectDate = (date)=>{
|
|
44
|
+
props.onPickDate?.(date);
|
|
45
|
+
};
|
|
46
|
+
const handleChangeTimeSelection = (event)=>{
|
|
47
|
+
props.onChangeWithTime?.(event.target.checked);
|
|
48
|
+
};
|
|
49
|
+
useEffect(()=>{
|
|
50
|
+
const clolseOnEscHandler = (event)=>{
|
|
51
|
+
if ('Escape' === event.key) handleCloseRef.current?.();
|
|
52
|
+
};
|
|
53
|
+
window.addEventListener('keydown', clolseOnEscHandler);
|
|
54
|
+
return ()=>{
|
|
55
|
+
window.removeEventListener('keydown', clolseOnEscHandler);
|
|
56
|
+
};
|
|
57
|
+
}, []);
|
|
58
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
59
|
+
className: DropdownContent_module.dropdownContainer,
|
|
60
|
+
children: [
|
|
61
|
+
/*#__PURE__*/ jsxs("div", {
|
|
62
|
+
className: DropdownContent_module.mainContent,
|
|
63
|
+
children: [
|
|
64
|
+
/*#__PURE__*/ jsx(SideMenu, {
|
|
65
|
+
value: props.value,
|
|
66
|
+
variantsListRef: props.variantsListRef,
|
|
67
|
+
withPeriod: props.withPeriod,
|
|
68
|
+
withAnyDate: props.withAnyDate,
|
|
69
|
+
withNoDate: props.withNoDate,
|
|
70
|
+
quickFilter: props.quickFilter,
|
|
71
|
+
onChangeVariant: sideMenu.changeVariantHandler,
|
|
72
|
+
onClickYestardayButton: sideMenu.yesterdayButtonClickHandler,
|
|
73
|
+
onClickTodayButton: sideMenu.todayButtonClickHandler,
|
|
74
|
+
onClickTomorrowButton: sideMenu.tomorrowButtonClickHandler
|
|
75
|
+
}),
|
|
76
|
+
showCalendar && /*#__PURE__*/ jsx("div", {
|
|
77
|
+
className: DropdownContent_module.calendarWrapper,
|
|
78
|
+
children: /*#__PURE__*/ jsx(Calendar, {
|
|
79
|
+
virtuosoRef: props.virtuosoRef,
|
|
80
|
+
minDate: props.minDate,
|
|
81
|
+
maxDate: props.maxDate,
|
|
82
|
+
value: props.value,
|
|
83
|
+
onSelectDate: handleSelectDate
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
]
|
|
87
|
+
}),
|
|
88
|
+
(isTimeToggleVisible || isClearValueVisible) && /*#__PURE__*/ jsxs("div", {
|
|
89
|
+
className: DropdownContent_module.dropdownFooter,
|
|
90
|
+
children: [
|
|
91
|
+
isTimeToggleVisible && /*#__PURE__*/ jsx(Hint, {
|
|
92
|
+
overlay: /*#__PURE__*/ jsx(Text.Body, {
|
|
93
|
+
colorToken: TextColor.invert,
|
|
94
|
+
children: locale.translate.footer.timeSelectionToggleHint
|
|
95
|
+
}),
|
|
96
|
+
trigger: isTimeToggleDisabled ? 'hover' : [],
|
|
97
|
+
overlayClassName: DropdownContent_module.toggleTooltipOverlay,
|
|
98
|
+
zIndex: props.hintZIndex ?? DEFAULT_HINT_Z_INDEX,
|
|
99
|
+
placement: "topLeft",
|
|
100
|
+
offset: [
|
|
101
|
+
-6,
|
|
102
|
+
4
|
|
103
|
+
],
|
|
104
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
105
|
+
className: DropdownContent_module.toggleWrapper,
|
|
106
|
+
children: /*#__PURE__*/ jsx(Toggle, {
|
|
107
|
+
checked: props.withTime,
|
|
108
|
+
disabled: isTimeToggleDisabled,
|
|
109
|
+
onChange: handleChangeTimeSelection,
|
|
110
|
+
label: locale.translate.footer.timeSelectionToggle
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
}),
|
|
114
|
+
isClearValueVisible && /*#__PURE__*/ jsxs(Button, {
|
|
115
|
+
size: "l",
|
|
116
|
+
variant: "frameless",
|
|
117
|
+
onClick: props.onClearButtonClick,
|
|
118
|
+
children: [
|
|
119
|
+
/*#__PURE__*/ jsx(FilterUpdate20Icon, {}),
|
|
120
|
+
locale.translate.footer.clearFilterButton
|
|
121
|
+
]
|
|
122
|
+
})
|
|
123
|
+
]
|
|
124
|
+
}),
|
|
125
|
+
/*#__PURE__*/ jsx("div", {
|
|
126
|
+
tabIndex: 0,
|
|
127
|
+
onFocus: props.handleClose
|
|
128
|
+
})
|
|
129
|
+
]
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
export { DropdownContent };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "./InputContent_module.css";
|
|
2
|
+
const InputContent_module = {
|
|
3
|
+
container: "container-HBRmHC",
|
|
4
|
+
withButtons: "withButtons-MWFNlE",
|
|
5
|
+
buttonsContainer: "buttonsContainer-mrVtTU",
|
|
6
|
+
dayContainer: "dayContainer-GUtXzi",
|
|
7
|
+
periodValue: "periodValue-njplnG"
|
|
8
|
+
};
|
|
9
|
+
export default InputContent_module;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
.container-HBRmHC {
|
|
2
|
+
align-items: center;
|
|
3
|
+
gap: 4px;
|
|
4
|
+
display: flex;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.container-HBRmHC.withButtons-MWFNlE {
|
|
8
|
+
margin-left: -6px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.buttonsContainer-mrVtTU {
|
|
12
|
+
align-items: center;
|
|
13
|
+
display: flex;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.dayContainer-GUtXzi {
|
|
17
|
+
flex: 1;
|
|
18
|
+
align-items: center;
|
|
19
|
+
gap: 4px;
|
|
20
|
+
width: 50%;
|
|
21
|
+
display: flex;
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.dayContainer-GUtXzi .periodValue-njplnG {
|
|
26
|
+
color: var(--text-secondary, #5f6d79);
|
|
27
|
+
text-overflow: ellipsis;
|
|
28
|
+
white-space: nowrap;
|
|
29
|
+
overflow: hidden;
|
|
30
|
+
}
|
|
31
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { KeyboardEvent } from 'react';
|
|
2
|
+
import type { DateRangeValue } from '../types';
|
|
3
|
+
interface InputContentProps {
|
|
4
|
+
value: DateRangeValue;
|
|
5
|
+
onClickPrev?: () => void;
|
|
6
|
+
onClickNext?: () => void;
|
|
7
|
+
tooltipZIndex?: number;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
onPressTabNextButton?: (event: KeyboardEvent<HTMLButtonElement>) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const InputContent: (props: InputContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../../common/css/index.js";
|
|
3
|
+
import { Text, TextTag } from "../../Text/Text.js";
|
|
4
|
+
import { useLocaleContext } from "../../../context/contexts/index.js";
|
|
5
|
+
import { Left12Icon, Right12Icon } from "../../../icon/index.js";
|
|
6
|
+
import { ArrowButton } from "../ArrowButton/index.js";
|
|
7
|
+
import { NAVIGATION_VARIANTS } from "../consts.js";
|
|
8
|
+
import { getDateRangePeriodName, getDateRangeSliderText } from "../formatDateRangeValue.js";
|
|
9
|
+
import { LocaleKey, useLocale } from "../locale/index.js";
|
|
10
|
+
import { TooltipedText } from "../TooltipedText/index.js";
|
|
11
|
+
import InputContent_module from "./InputContent.module.js";
|
|
12
|
+
const InputContent = (props)=>{
|
|
13
|
+
const showArrowButtons = NAVIGATION_VARIANTS.includes(props.value.type);
|
|
14
|
+
const { lang } = useLocaleContext();
|
|
15
|
+
const locale = useLocale('DateRange');
|
|
16
|
+
const formatLocale = useLocale('DateRange', LocaleKey.Locale);
|
|
17
|
+
const periodText = getDateRangeSliderText(props.value, {
|
|
18
|
+
translates: locale,
|
|
19
|
+
lang,
|
|
20
|
+
formatTranslates: formatLocale
|
|
21
|
+
});
|
|
22
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
23
|
+
className: cn(InputContent_module.container, showArrowButtons && InputContent_module.withButtons),
|
|
24
|
+
children: [
|
|
25
|
+
showArrowButtons && /*#__PURE__*/ jsxs("div", {
|
|
26
|
+
className: InputContent_module.buttonsContainer,
|
|
27
|
+
children: [
|
|
28
|
+
/*#__PURE__*/ jsx(ArrowButton, {
|
|
29
|
+
disabled: props.disabled,
|
|
30
|
+
onClick: props.onClickPrev,
|
|
31
|
+
children: /*#__PURE__*/ jsx(Left12Icon, {})
|
|
32
|
+
}),
|
|
33
|
+
/*#__PURE__*/ jsx(ArrowButton, {
|
|
34
|
+
disabled: props.disabled,
|
|
35
|
+
onClick: props.onClickNext,
|
|
36
|
+
onPressTab: props.onPressTabNextButton,
|
|
37
|
+
children: /*#__PURE__*/ jsx(Right12Icon, {})
|
|
38
|
+
})
|
|
39
|
+
]
|
|
40
|
+
}),
|
|
41
|
+
/*#__PURE__*/ jsxs("div", {
|
|
42
|
+
className: InputContent_module.dayContainer,
|
|
43
|
+
children: [
|
|
44
|
+
/*#__PURE__*/ jsx(Text.Body, {
|
|
45
|
+
as: TextTag.span,
|
|
46
|
+
children: getDateRangePeriodName(props.value, locale)
|
|
47
|
+
}),
|
|
48
|
+
/*#__PURE__*/ jsx(TooltipedText, {
|
|
49
|
+
className: InputContent_module.periodValue,
|
|
50
|
+
tooltipZIndex: props.tooltipZIndex,
|
|
51
|
+
tooltipText: periodText?.tooltipText,
|
|
52
|
+
children: periodText?.text ?? null
|
|
53
|
+
})
|
|
54
|
+
]
|
|
55
|
+
})
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
export { InputContent };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.monthContainer-_Ug8XG {
|
|
2
|
+
flex-direction: column;
|
|
3
|
+
gap: 4px;
|
|
4
|
+
padding-left: 16px;
|
|
5
|
+
padding-right: 4px;
|
|
6
|
+
display: flex;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.monthContainer-_Ug8XG .week-Ifyx5R {
|
|
10
|
+
display: flex;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.monthContainer-_Ug8XG .week-Ifyx5R.hovered-yyNVTZ {
|
|
14
|
+
outline: 1px solid var(--elements-accent, #036ce5);
|
|
15
|
+
border-radius: 8px;
|
|
16
|
+
}
|
|
17
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DateRangeValue } from '../types';
|
|
2
|
+
export interface MonthProps {
|
|
3
|
+
value: DateRangeValue;
|
|
4
|
+
year: number;
|
|
5
|
+
month: number;
|
|
6
|
+
hoverWeekFirstDay?: Date;
|
|
7
|
+
selectedInterval: {
|
|
8
|
+
startDateOfInterval: Date | undefined;
|
|
9
|
+
endDateOfInterval: Date | undefined;
|
|
10
|
+
} | null;
|
|
11
|
+
onChangeHoverDate?: (date: Date | undefined) => void;
|
|
12
|
+
onChangeHoverWeekFirstDay?: (date: Date | undefined) => void;
|
|
13
|
+
onSelectDate?: (date: Date) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const Month: import("react").MemoExoticComponent<(props: MonthProps) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useRef } from "react";
|
|
3
|
+
import { endOfDay, endOfMonth, getWeek, getWeeksInMonth, isAfter, isBefore, isSameDay, isSameWeek, isWithinInterval, setDay, setWeek, startOfDay } from "date-fns";
|
|
4
|
+
import { cn } from "../../../common/css/index.js";
|
|
5
|
+
import { mapWeekDays, mapWeekRows } from "./utils.js";
|
|
6
|
+
import { CalendarVariant } from "../consts.js";
|
|
7
|
+
import { Day } from "../Day/index.js";
|
|
8
|
+
import { getFirstDayOfMonth, getPeriodValue, isDayValue, isRangeValue, isWeekValue } from "../utils.js";
|
|
9
|
+
import Month_module from "./Month.module.js";
|
|
10
|
+
const Month = /*#__PURE__*/ memo((props)=>{
|
|
11
|
+
const startDate = getFirstDayOfMonth(props.year, props.month);
|
|
12
|
+
const endDate = startOfDay(endOfMonth(startDate));
|
|
13
|
+
const weeksCount = getWeeksInMonth(startDate, {
|
|
14
|
+
weekStartsOn: 1
|
|
15
|
+
});
|
|
16
|
+
const week = getWeek(startDate, {
|
|
17
|
+
weekStartsOn: 1
|
|
18
|
+
});
|
|
19
|
+
const onSelectDateRef = useRef(props.onSelectDate);
|
|
20
|
+
onSelectDateRef.current = props.onSelectDate;
|
|
21
|
+
const getCellDate = (weekIndex, cellIndex)=>{
|
|
22
|
+
const startDay = new Date(startDate);
|
|
23
|
+
const dayWithWeek = setWeek(startDay, week + weekIndex, {
|
|
24
|
+
weekStartsOn: 1
|
|
25
|
+
});
|
|
26
|
+
const correctlyIndex = 7 === cellIndex ? 0 : cellIndex;
|
|
27
|
+
return setDay(dayWithWeek, correctlyIndex, {
|
|
28
|
+
weekStartsOn: 1
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const getCellDateStatus = (date)=>{
|
|
32
|
+
if (isBefore(date, startDate)) return {
|
|
33
|
+
valid: false,
|
|
34
|
+
startOfMonth: true
|
|
35
|
+
};
|
|
36
|
+
if (isAfter(date, endDate)) return {
|
|
37
|
+
valid: false,
|
|
38
|
+
endOfMonth: true
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
valid: true
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
const isEmptySelected = (cellStatus)=>{
|
|
45
|
+
if (cellStatus.valid || !props.selectedInterval?.startDateOfInterval || !props.selectedInterval.endDateOfInterval) return false;
|
|
46
|
+
const { startDateOfInterval, endDateOfInterval } = props.selectedInterval;
|
|
47
|
+
if (cellStatus.startOfMonth) return isWithinInterval(startDate, {
|
|
48
|
+
start: startOfDay(startDateOfInterval),
|
|
49
|
+
end: endOfDay(endDateOfInterval)
|
|
50
|
+
}) && !isSameDay(startDate, startDateOfInterval);
|
|
51
|
+
return isWithinInterval(endDate, {
|
|
52
|
+
start: startOfDay(startDateOfInterval),
|
|
53
|
+
end: endOfDay(endDateOfInterval)
|
|
54
|
+
}) && !isSameDay(endDate, endDateOfInterval);
|
|
55
|
+
};
|
|
56
|
+
const isSelected = (date)=>{
|
|
57
|
+
if (!props.selectedInterval?.startDateOfInterval || !props.selectedInterval.endDateOfInterval) return false;
|
|
58
|
+
const { startDateOfInterval, endDateOfInterval } = props.selectedInterval;
|
|
59
|
+
return isWithinInterval(date, {
|
|
60
|
+
start: startOfDay(startDateOfInterval),
|
|
61
|
+
end: endOfDay(endDateOfInterval)
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
const getRangeTreshholdStatus = (date)=>{
|
|
65
|
+
if (!props.selectedInterval) return {
|
|
66
|
+
left: false,
|
|
67
|
+
right: false
|
|
68
|
+
};
|
|
69
|
+
const { startDateOfInterval, endDateOfInterval } = props.selectedInterval;
|
|
70
|
+
return {
|
|
71
|
+
left: !!startDateOfInterval && isSameDay(date, startDateOfInterval),
|
|
72
|
+
right: !!endDateOfInterval && isSameDay(date, endDateOfInterval)
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
const getDayTreshholdStatus = (date)=>{
|
|
76
|
+
const options = props.value;
|
|
77
|
+
if (!options.value) return {
|
|
78
|
+
left: false,
|
|
79
|
+
right: false
|
|
80
|
+
};
|
|
81
|
+
const isSelected = isSameDay(date, options.value);
|
|
82
|
+
return {
|
|
83
|
+
left: isSelected,
|
|
84
|
+
right: isSelected
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
const getTreshholdStatus = (date)=>{
|
|
88
|
+
if (isRangeValue(props.value) || isWeekValue(props.value)) return getRangeTreshholdStatus(date);
|
|
89
|
+
if (isDayValue(props.value)) return getDayTreshholdStatus(date);
|
|
90
|
+
return {
|
|
91
|
+
left: false,
|
|
92
|
+
right: false
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
const handleUnhoverDay = ()=>{
|
|
96
|
+
props.onChangeHoverDate?.(void 0);
|
|
97
|
+
props.onChangeHoverWeekFirstDay?.(void 0);
|
|
98
|
+
};
|
|
99
|
+
const isWeekSelectionMode = props.value.type === CalendarVariant.week;
|
|
100
|
+
const hoverDayStylesEnabled = !isWeekSelectionMode;
|
|
101
|
+
const isWeekHovered = (weekFirstDate)=>{
|
|
102
|
+
if (!isWeekSelectionMode) return false;
|
|
103
|
+
return props.hoverWeekFirstDay && isSameWeek(weekFirstDate, props.hoverWeekFirstDay);
|
|
104
|
+
};
|
|
105
|
+
const isNeedHoverListener = ()=>{
|
|
106
|
+
if (!isRangeValue(props.value)) return false;
|
|
107
|
+
const { startDate, endDate } = getPeriodValue(props.value.value);
|
|
108
|
+
return startDate && !endDate || !startDate && endDate;
|
|
109
|
+
};
|
|
110
|
+
const needHoverListener = isNeedHoverListener();
|
|
111
|
+
const needHoverListenerRef = useRef(needHoverListener);
|
|
112
|
+
needHoverListenerRef.current = needHoverListener;
|
|
113
|
+
const renderDayCell = (weekIndex, cellIndex)=>{
|
|
114
|
+
const cellDate = getCellDate(weekIndex, cellIndex + 1);
|
|
115
|
+
const cellDateStatus = getCellDateStatus(cellDate);
|
|
116
|
+
const date = cellDateStatus.valid ? cellDate : null;
|
|
117
|
+
const emptySelected = isEmptySelected(cellDateStatus);
|
|
118
|
+
const selected = date ? isSelected(date) : false;
|
|
119
|
+
const treshholdStatus = date && getTreshholdStatus(date);
|
|
120
|
+
return /*#__PURE__*/ jsx(Day, {
|
|
121
|
+
dayIndex: cellIndex,
|
|
122
|
+
date: date,
|
|
123
|
+
selected: selected || emptySelected,
|
|
124
|
+
leftTreshhold: treshholdStatus?.left,
|
|
125
|
+
rightTreshhold: treshholdStatus?.right,
|
|
126
|
+
noHoverStyle: !hoverDayStylesEnabled,
|
|
127
|
+
onClick: ()=>{
|
|
128
|
+
if (!isWeekSelectionMode && date) onSelectDateRef.current?.(date);
|
|
129
|
+
},
|
|
130
|
+
onHover: ()=>{
|
|
131
|
+
if (date && needHoverListenerRef.current) props.onChangeHoverDate?.(date);
|
|
132
|
+
}
|
|
133
|
+
}, cellIndex);
|
|
134
|
+
};
|
|
135
|
+
const renderWeekRow = (weekIndex)=>{
|
|
136
|
+
const firstWeekDate = getCellDate(weekIndex, 1);
|
|
137
|
+
const isHovered = isWeekHovered(firstWeekDate);
|
|
138
|
+
const handleWeekNouseEnter = ()=>{
|
|
139
|
+
props.onChangeHoverWeekFirstDay?.(firstWeekDate);
|
|
140
|
+
};
|
|
141
|
+
const handleWeekClick = ()=>{
|
|
142
|
+
props.onSelectDate?.(firstWeekDate);
|
|
143
|
+
};
|
|
144
|
+
return /*#__PURE__*/ jsx("div", {
|
|
145
|
+
className: cn(Month_module.week, isHovered && Month_module.hovered),
|
|
146
|
+
onMouseEnter: isWeekSelectionMode ? handleWeekNouseEnter : void 0,
|
|
147
|
+
onClick: isWeekSelectionMode && isHovered ? handleWeekClick : void 0,
|
|
148
|
+
children: mapWeekDays((cellIndex)=>renderDayCell(weekIndex, cellIndex))
|
|
149
|
+
}, weekIndex);
|
|
150
|
+
};
|
|
151
|
+
return /*#__PURE__*/ jsx("div", {
|
|
152
|
+
className: Month_module.monthContainer,
|
|
153
|
+
onMouseLeave: handleUnhoverDay,
|
|
154
|
+
children: mapWeekRows(weeksCount, renderWeekRow)
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
Month.displayName = 'DateRangeMonth';
|
|
158
|
+
export { Month };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const DAYS_IN_WEEK = 7;
|
|
2
|
+
const mapWeekRows = (weeksCount, renderWeek)=>Array.from({
|
|
3
|
+
length: weeksCount
|
|
4
|
+
}, (_, weekIndex)=>renderWeek(weekIndex));
|
|
5
|
+
const mapWeekDays = (renderDay)=>Array.from({
|
|
6
|
+
length: DAYS_IN_WEEK
|
|
7
|
+
}, (_, dayIndex)=>renderDay(dayIndex));
|
|
8
|
+
export { mapWeekDays, mapWeekRows };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { format } from "date-fns";
|
|
3
|
+
import { Text, TextTag } from "../../Text/Text.js";
|
|
4
|
+
import { useLocaleContext } from "../../../context/contexts/index.js";
|
|
5
|
+
import { capitalizeFirstLetter, getFormatOptions } from "../utils.js";
|
|
6
|
+
import MonthHeader_module from "./MonthHeader.module.js";
|
|
7
|
+
const MonthHeader = (props)=>{
|
|
8
|
+
const { lang } = useLocaleContext();
|
|
9
|
+
const month = format(props.date, 'LLLL', getFormatOptions(lang));
|
|
10
|
+
const capitalizedMonth = capitalizeFirstLetter(month);
|
|
11
|
+
const year = format(props.date, 'yyyy');
|
|
12
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
13
|
+
className: MonthHeader_module.container,
|
|
14
|
+
children: [
|
|
15
|
+
/*#__PURE__*/ jsx(Text.Body, {
|
|
16
|
+
as: TextTag.span,
|
|
17
|
+
children: capitalizedMonth
|
|
18
|
+
}),
|
|
19
|
+
/*#__PURE__*/ jsx(Text.Body, {
|
|
20
|
+
as: TextTag.span,
|
|
21
|
+
children: year
|
|
22
|
+
})
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
export { MonthHeader };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
.scrollContainer-wTlgeS {
|
|
2
|
+
width: 252px;
|
|
3
|
+
margin-right: 4px;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.scrollContainer-wTlgeS::-webkit-scrollbar {
|
|
7
|
+
width: 8px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.scrollContainer-wTlgeS::-webkit-scrollbar-thumb {
|
|
11
|
+
background-color: var(--border-normal, #d1d6df);
|
|
12
|
+
border-radius: 8px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.month-PnLRnS {
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
gap: 4px;
|
|
18
|
+
padding-bottom: 8px;
|
|
19
|
+
display: flex;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.month-PnLRnS.first-SZmA6H {
|
|
23
|
+
padding-top: 8px;
|
|
24
|
+
}
|
|
25
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import { type VirtuosoHandle } from 'react-virtuoso';
|
|
3
|
+
import { type MonthProps } from '../Month';
|
|
4
|
+
type PickedMonthProps = Pick<MonthProps, 'onSelectDate' | 'value'>;
|
|
5
|
+
interface MonthListProps extends PickedMonthProps {
|
|
6
|
+
minDate: Date;
|
|
7
|
+
maxDate: Date;
|
|
8
|
+
virtuosoRef?: RefObject<VirtuosoHandle>;
|
|
9
|
+
}
|
|
10
|
+
export declare const MonthList: (props: MonthListProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|