@via-profit/ui-kit 0.3.0 → 0.5.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/Accordion/AccordionContainer.js +12 -11
- package/Accordion/AccordionContent.js +16 -7
- package/Accordion/AccordionHeader.d.ts +22 -0
- package/Accordion/AccordionHeader.js +37 -18
- package/Accordion/Chevron.js +3 -3
- package/Accordion/index.d.ts +12 -8
- package/Accordion/index.js +23 -7
- package/Autocomplete/AutocompleteContainer.d.ts +5 -9
- package/Autocomplete/AutocompleteContainer.js +91 -35
- package/Autocomplete/AutocompleteTagsInput.d.ts +15 -0
- package/Autocomplete/AutocompleteTagsInput.js +65 -0
- package/Autocomplete/context.d.ts +1 -0
- package/Autocomplete/context.js +5 -5
- package/Autocomplete/index.js +1 -0
- package/Avatar/AvatarBase.js +1 -1
- package/Avatar/AvatarContainer.js +6 -11
- package/Avatar/AvatarPicture.d.ts +10 -2
- package/Avatar/AvatarPicture.js +4 -3
- package/Avatar/index.js +11 -10
- package/Badge/BadgeBase.d.ts +9 -0
- package/Badge/BadgeBase.js +21 -3
- package/Badge/BadgeContainer.js +2 -1
- package/Badge/BadgeDeleteButton.d.ts +1 -1
- package/Badge/BadgeOutlined.d.ts +1 -1
- package/Badge/BadgeOutlined.js +5 -80
- package/Badge/BadgeStandard.d.ts +1 -1
- package/Badge/BadgeStandard.js +5 -91
- package/Badge/BadgeStyled.d.ts +5 -0
- package/Badge/BadgeStyled.js +127 -0
- package/Badge/index.d.ts +2 -2
- package/Badge/index.js +4 -20
- package/Button/ButtonBase.d.ts +8 -0
- package/Button/ButtonBase.js +10 -6
- package/Button/ButtonContainer.d.ts +18 -0
- package/Button/ButtonContainer.js +8 -2
- package/Button/ButtonIconWrapper.d.ts +1 -1
- package/Button/ButtonOutlined.d.ts +1 -1
- package/Button/ButtonOutlined.js +5 -80
- package/Button/ButtonPlain.d.ts +1 -1
- package/Button/ButtonPlain.js +5 -85
- package/Button/ButtonStandard.d.ts +1 -1
- package/Button/ButtonStandard.js +5 -97
- package/Button/ButtonStyled.d.ts +11 -0
- package/Button/ButtonStyled.js +41 -0
- package/Button/buttonVariants.d.ts +16 -0
- package/Button/buttonVariants.js +168 -0
- package/Button/index.d.ts +5 -5
- package/Button/index.js +19 -21
- package/ButtonGroup/ButtonGroupContext.d.ts +21 -0
- package/ButtonGroup/ButtonGroupContext.js +11 -0
- package/ButtonGroup/index.d.ts +76 -0
- package/ButtonGroup/index.js +132 -0
- package/CHANGELOG.md +160 -0
- package/Calendar/CalendarCell.js +11 -4
- package/Calendar/CalendarComponent.d.ts +15 -4
- package/Calendar/CalendarComponent.js +151 -55
- package/Calendar/CalendarDayBadge.d.ts +1 -1
- package/Calendar/CalendarMonthCell.js +1 -11
- package/Calendar/CalendarPaper.js +2 -1
- package/Calendar/CalendarWeekDayLabel.js +3 -1
- package/Calendar/CalendarWeekDaysBar.js +6 -1
- package/Calendar/CalendarYearCell.js +1 -16
- package/Calendar/CalendarYearsSelector.d.ts +0 -1
- package/Calendar/CalendarYearsSelector.js +33 -35
- package/Calendar/use-calendar.d.ts +1 -1
- package/Checkbox/CheckboxAsterisk.d.ts +13 -0
- package/Checkbox/CheckboxAsterisk.js +53 -0
- package/Checkbox/CheckboxBox.d.ts +22 -0
- package/Checkbox/CheckboxBox.js +90 -0
- package/Checkbox/CheckboxContainer.d.ts +27 -0
- package/Checkbox/CheckboxContainer.js +38 -0
- package/Checkbox/CheckboxErrorText.d.ts +6 -0
- package/Checkbox/CheckboxErrorText.js +76 -0
- package/Checkbox/CheckboxIcon.d.ts +10 -0
- package/Checkbox/CheckboxIcon.js +57 -0
- package/Checkbox/CheckboxTextWrapper.d.ts +4 -0
- package/Checkbox/CheckboxTextWrapper.js +29 -0
- package/Checkbox/CheckboxWrapper.d.ts +4 -0
- package/Checkbox/CheckboxWrapper.js +29 -0
- package/Checkbox/index.d.ts +144 -0
- package/Checkbox/index.js +72 -0
- package/Checkbox/useCheckboxColor.d.ts +6 -0
- package/Checkbox/useCheckboxColor.js +33 -0
- package/ClickOutside/index.d.ts +6 -0
- package/ClickOutside/index.js +7 -2
- package/Color/Color.d.ts +4 -4
- package/Color/Color.js +9 -5
- package/Color/ColorGenerator.d.ts +5 -1
- package/DatePicker/index.d.ts +19 -6
- package/DatePicker/index.js +59 -12
- package/ErrorBoundary/RenderError.d.ts +2 -0
- package/ErrorBoundary/RenderError.js +3 -6
- package/ErrorBoundary/index.d.ts +19 -6
- package/ErrorBoundary/index.js +7 -8
- package/Grid/index.d.ts +60 -0
- package/Grid/index.js +43 -0
- package/Highlighted/index.d.ts +1 -1
- package/Highlighted/index.js +16 -11
- package/LoadingIndicator/LoadingOverlay.d.ts +11 -0
- package/LoadingIndicator/LoadingOverlay.js +63 -0
- package/LoadingIndicator/Spinner.d.ts +34 -5
- package/LoadingIndicator/Spinner.js +48 -37
- package/LoadingIndicator/SpinnerCircle.d.ts +14 -0
- package/LoadingIndicator/SpinnerCircle.js +34 -0
- package/LoadingIndicator/index.d.ts +8 -3
- package/LoadingIndicator/index.js +9 -15
- package/MaskedField/index.d.ts +3 -2
- package/MaskedField/index.js +7 -2
- package/MaskedField/templates.js +2 -0
- package/MaskedField/useMasked.js +9 -6
- package/Menu/MenuContainer.d.ts +8 -0
- package/Menu/MenuContainer.js +102 -30
- package/Menu/MenuItem.js +1 -1
- package/Menu/MenuList.js +2 -1
- package/Menu/context.js +5 -0
- package/Modal/BaseModal/index.js +2 -1
- package/Modal/BaseModal/useDialogID.d.ts +6 -0
- package/Modal/BaseModal/useDialogID.js +12 -0
- package/Modal/ConfirmBox/ConfirmBoxContainer.js +5 -1
- package/Modal/ConfirmBox/index.js +4 -2
- package/Modal/Dialog/DialogInner.js +1 -1
- package/Modal/Dialog/index.js +14 -8
- package/Modal/Drawer/DrawerHeader.d.ts +20 -0
- package/Modal/Drawer/DrawerHeader.js +3 -3
- package/Modal/Drawer/DrawerInner.js +9 -1
- package/Modal/Drawer/index.d.ts +7 -0
- package/Modal/Drawer/index.js +13 -10
- package/Modal/MessageBox/MessageBoxContainer.js +1 -1
- package/Modal/MessageBox/index.js +4 -2
- package/PhoneField/CountryFlagComponent.js +2 -2
- package/PhoneField/UnknownFlag.d.ts +6 -3
- package/PhoneField/UnknownFlag.js +8 -31
- package/PhoneField/flags/BY.js +39 -0
- package/PhoneField/flags/CN.js +35 -0
- package/PhoneField/flags/IL.js +35 -0
- package/PhoneField/flags/JP.js +34 -0
- package/PhoneField/flags/KZ.js +35 -0
- package/PhoneField/flags/RU.js +36 -0
- package/PhoneField/flags/UA.js +34 -0
- package/PhoneField/flags/US.js +38 -0
- package/PhoneField/flags/Unknown.js +42 -0
- package/PhoneField/flags/isLabelled.d.ts +6 -0
- package/PhoneField/flags/isLabelled.js +7 -0
- package/PhoneField/index.js +45 -55
- package/PhoneField/templates.js +21 -22
- package/PhoneField/usePhoneUtils.d.ts +15 -0
- package/PhoneField/usePhoneUtils.js +30 -37
- package/Popper/Popper.d.ts +28 -8
- package/Popper/Popper.js +2 -1
- package/Popper/usePopper.d.ts +21 -31
- package/README.md +27 -10
- package/Radio/RadioBox.d.ts +14 -0
- package/Radio/RadioBox.js +102 -0
- package/Radio/RadioContainer.d.ts +27 -0
- package/Radio/RadioContainer.js +38 -0
- package/Radio/RadioTextWrapper.d.ts +4 -0
- package/Radio/RadioTextWrapper.js +29 -0
- package/Radio/index.d.ts +64 -0
- package/Radio/index.js +50 -0
- package/Radio/useRadioColor.d.ts +6 -0
- package/Radio/useRadioColor.js +33 -0
- package/RadioGroup/RadioGroupAsterisk.d.ts +13 -0
- package/RadioGroup/RadioGroupAsterisk.js +53 -0
- package/RadioGroup/RadioGroupContainer.d.ts +4 -0
- package/RadioGroup/RadioGroupContainer.js +36 -0
- package/RadioGroup/RadioGroupContext.d.ts +20 -0
- package/RadioGroup/RadioGroupContext.js +11 -0
- package/RadioGroup/RadioGroupErrorText.d.ts +6 -0
- package/RadioGroup/RadioGroupErrorText.js +76 -0
- package/RadioGroup/RadioGroupItems.d.ts +9 -0
- package/RadioGroup/RadioGroupItems.js +30 -0
- package/RadioGroup/RadioGroupLegend.d.ts +4 -0
- package/RadioGroup/RadioGroupLegend.js +37 -0
- package/RadioGroup/index.d.ts +134 -0
- package/RadioGroup/index.js +63 -0
- package/Selectbox/SelectboxButton.js +2 -0
- package/Selectbox/index.d.ts +18 -2
- package/Selectbox/index.js +24 -7
- package/Slider/SliderContainer.d.ts +19 -0
- package/Slider/SliderContainer.js +50 -0
- package/Slider/SliderMark.d.ts +25 -0
- package/Slider/SliderMark.js +40 -0
- package/Slider/SliderMarkLabel.d.ts +25 -0
- package/Slider/SliderMarkLabel.js +34 -0
- package/Slider/SliderRail.d.ts +13 -0
- package/Slider/SliderRail.js +49 -0
- package/Slider/SliderThumb.d.ts +37 -0
- package/Slider/SliderThumb.js +71 -0
- package/Slider/SliderTrack.d.ts +29 -0
- package/Slider/SliderTrack.js +48 -0
- package/Slider/index.d.ts +134 -0
- package/Slider/index.js +250 -0
- package/Slider/useSliderColor.d.ts +6 -0
- package/Slider/useSliderColor.js +33 -0
- package/Slider/utils.d.ts +10 -0
- package/Slider/utils.js +31 -0
- package/Stack/index.d.ts +62 -0
- package/Stack/index.js +38 -0
- package/Surface/SurfaceContainer.js +8 -1
- package/Surface/index.js +9 -4
- package/Swiper/Swiper.d.ts +28 -2
- package/Swiper/Swiper.js +234 -90
- package/Swiper/SwiperContainer.js +0 -2
- package/Swiper/SwiperSlidesRenderer.d.ts +8 -0
- package/Swiper/SwiperSlidesRenderer.js +17 -14
- package/Swiper/SwiperTrack.d.ts +8 -0
- package/Swiper/SwiperTrack.js +8 -3
- package/Swiper/SwiperWrapper.js +11 -1
- package/Switch/SwitchContainer.d.ts +1 -1
- package/Switch/SwitchContainer.js +5 -5
- package/Switch/SwitchDot.js +13 -53
- package/Switch/SwitchToggleWrapper.d.ts +1 -1
- package/Switch/SwitchToggleWrapper.js +7 -6
- package/Switch/SwitchTrack.js +5 -41
- package/Switch/index.d.ts +4 -4
- package/Switch/index.js +23 -12
- package/Switch/useSwitchColor.d.ts +7 -0
- package/Switch/useSwitchColor.js +33 -0
- package/Table/Table.d.ts +6 -0
- package/Table/Table.js +9 -63
- package/Table/TableBody.d.ts +1 -1
- package/Table/TableBody.js +4 -2
- package/Table/TableCaption.d.ts +2 -2
- package/Table/TableCaption.js +2 -3
- package/Table/TableCell.js +2 -5
- package/Table/TableFooter.js +8 -7
- package/Table/TableHeader.js +6 -2
- package/Table/TableHeaderCell.js +8 -9
- package/Table/TableRow.js +1 -5
- package/Tabs/Tab.d.ts +14 -0
- package/Tabs/Tab.js +128 -0
- package/Tabs/TabList.d.ts +4 -0
- package/Tabs/TabList.js +104 -0
- package/Tabs/TabPanel.d.ts +26 -0
- package/Tabs/TabPanel.js +51 -0
- package/Tabs/Tabs.d.ts +79 -0
- package/Tabs/Tabs.js +81 -0
- package/Tabs/context.d.ts +23 -0
- package/Tabs/context.js +16 -0
- package/Tabs/index.d.ts +10 -0
- package/Tabs/index.js +14 -0
- package/Tabs/useTabsColor.d.ts +6 -0
- package/Tabs/useTabsColor.js +33 -0
- package/TextArea/TextAreaIconWrapper.d.ts +1 -1
- package/TextArea/TextAreaInput.js +2 -0
- package/TextArea/index.js +3 -2
- package/TextField/TextFieldInput.js +2 -0
- package/TextField/TextFieldInputWrapper.d.ts +2 -0
- package/TextField/TextFieldInputWrapper.js +12 -2
- package/TextField/index.js +3 -2
- package/ThemeProvider/components.d.ts +79 -0
- package/ThemeProvider/components.js +3 -0
- package/ThemeProvider/createTheme.js +4 -3
- package/ThemeProvider/index.d.ts +72 -2
- package/ThemeProvider/index.js +5 -1
- package/ThemeProvider/tokens.d.ts +15 -0
- package/ThemeProvider/tokens.js +32 -0
- package/ThemeProvider/useThemeProps.d.ts +7 -0
- package/ThemeProvider/useThemeProps.js +34 -0
- package/Toast/ToastAction.d.ts +4 -0
- package/Toast/ToastAction.js +32 -0
- package/Toast/ToastCard.d.ts +20 -0
- package/Toast/ToastCard.js +86 -0
- package/Toast/ToastCloseButton.d.ts +4 -0
- package/Toast/ToastCloseButton.js +48 -0
- package/Toast/ToastContainer.d.ts +88 -0
- package/Toast/ToastContainer.js +155 -0
- package/Toast/ToastIcon.d.ts +11 -0
- package/Toast/ToastIcon.js +71 -0
- package/Toast/ToastItem.d.ts +29 -0
- package/Toast/ToastItem.js +120 -0
- package/Toast/index.d.ts +6 -0
- package/Toast/index.js +11 -0
- package/Toast/store.d.ts +155 -0
- package/Toast/store.js +75 -0
- package/Tooltip/TooltipArrow.d.ts +15 -0
- package/Tooltip/TooltipArrow.js +62 -0
- package/Tooltip/TooltipContainer.d.ts +4 -0
- package/Tooltip/TooltipContainer.js +52 -0
- package/Tooltip/index.d.ts +78 -0
- package/Tooltip/index.js +196 -0
- package/Typography/Base.d.ts +1 -1
- package/Typography/Base.js +1 -1
- package/Typography/Blockquote.js +1 -1
- package/Typography/Del.js +2 -2
- package/Typography/H4.js +1 -1
- package/Typography/H5.js +2 -2
- package/Typography/H6.d.ts +4 -0
- package/Typography/H6.js +28 -0
- package/Typography/SectionDescription.js +0 -1
- package/Typography/SectionTitle.d.ts +4 -7
- package/Typography/SectionTitle.js +26 -8
- package/Typography/index.d.ts +27 -0
- package/Typography/index.js +35 -0
- package/esm/Accordion/AccordionActions.js +26 -0
- package/esm/Accordion/AccordionContainer.js +57 -0
- package/esm/Accordion/AccordionContent.js +39 -0
- package/esm/Accordion/AccordionHeader.js +67 -0
- package/esm/Accordion/Chevron.js +8 -0
- package/esm/Accordion/index.js +53 -0
- package/esm/Autocomplete/AutocompleteContainer.js +403 -0
- package/esm/Autocomplete/AutocompleteItem.js +38 -0
- package/esm/Autocomplete/AutocompleteTagsInput.js +59 -0
- package/esm/Autocomplete/IconClear.js +4 -0
- package/esm/Autocomplete/context.js +58 -0
- package/esm/Autocomplete/index.js +32 -0
- package/esm/Avatar/AvatarBase.js +30 -0
- package/esm/Avatar/AvatarContainer.js +34 -0
- package/esm/Avatar/AvatarIconWrapper.js +25 -0
- package/esm/Avatar/AvatarOnlineBadge.js +31 -0
- package/esm/Avatar/AvatarPicture.js +69 -0
- package/esm/Avatar/AvatarTextWrapper.js +31 -0
- package/esm/Avatar/index.js +108 -0
- package/esm/Badge/BadgeBase.js +48 -0
- package/esm/Badge/BadgeContainer.js +38 -0
- package/esm/Badge/BadgeDeleteButton.js +87 -0
- package/esm/Badge/BadgeIconWrapper.js +24 -0
- package/esm/Badge/BadgeOutlined.js +7 -0
- package/esm/Badge/BadgeStandard.js +7 -0
- package/esm/Badge/BadgeStyled.js +122 -0
- package/esm/Badge/BadgeTextWrapper.js +25 -0
- package/esm/Badge/index.js +6 -0
- package/esm/Button/ButtonBase.js +37 -0
- package/esm/Button/ButtonContainer.js +56 -0
- package/esm/Button/ButtonIconWrapper.js +32 -0
- package/esm/Button/ButtonOutlined.js +7 -0
- package/esm/Button/ButtonPlain.js +7 -0
- package/esm/Button/ButtonStandard.js +7 -0
- package/esm/Button/ButtonStyled.js +36 -0
- package/esm/Button/ButtonTextWrapper.js +30 -0
- package/esm/Button/buttonVariants.js +161 -0
- package/esm/Button/index.js +24 -0
- package/esm/ButtonGroup/ButtonGroupContext.js +6 -0
- package/esm/ButtonGroup/index.js +127 -0
- package/esm/Calendar/CalendarBody.js +25 -0
- package/esm/Calendar/CalendarCell.js +62 -0
- package/esm/Calendar/CalendarComponent.js +666 -0
- package/esm/Calendar/CalendarControlButton.js +39 -0
- package/esm/Calendar/CalendarDateContainer.js +24 -0
- package/esm/Calendar/CalendarDayBadge.js +70 -0
- package/esm/Calendar/CalendarEmptyCell.js +32 -0
- package/esm/Calendar/CalendarFooter.js +37 -0
- package/esm/Calendar/CalendarHeader.js +29 -0
- package/esm/Calendar/CalendarHeading.js +28 -0
- package/esm/Calendar/CalendarIconNext.js +4 -0
- package/esm/Calendar/CalendarIconPrev.js +4 -0
- package/esm/Calendar/CalendarMonthCell.js +28 -0
- package/esm/Calendar/CalendarMonthsSelector.js +25 -0
- package/esm/Calendar/CalendarPaper.js +29 -0
- package/esm/Calendar/CalendarSubheading.js +25 -0
- package/esm/Calendar/CalendarToolbar.js +26 -0
- package/esm/Calendar/CalendarWeekDayCell.js +27 -0
- package/esm/Calendar/CalendarWeekDayLabel.js +14 -0
- package/esm/Calendar/CalendarWeekDayWeekNumber.js +33 -0
- package/esm/Calendar/CalendarWeekDaysBar.js +34 -0
- package/esm/Calendar/CalendarWeekRow.js +25 -0
- package/esm/Calendar/CalendarWeekRowButton.js +26 -0
- package/esm/Calendar/CalendarYearCell.js +28 -0
- package/esm/Calendar/CalendarYearsSelector.js +59 -0
- package/esm/Calendar/IconChevronDown.js +6 -0
- package/esm/Calendar/index.js +8 -0
- package/esm/Calendar/use-calendar.js +155 -0
- package/esm/Checkbox/CheckboxAsterisk.js +25 -0
- package/esm/Checkbox/CheckboxBox.js +85 -0
- package/esm/Checkbox/CheckboxContainer.js +33 -0
- package/esm/Checkbox/CheckboxErrorText.js +48 -0
- package/esm/Checkbox/CheckboxIcon.js +52 -0
- package/esm/Checkbox/CheckboxTextWrapper.js +24 -0
- package/esm/Checkbox/CheckboxWrapper.js +24 -0
- package/esm/Checkbox/index.js +67 -0
- package/esm/Checkbox/useCheckboxColor.js +28 -0
- package/esm/ClickOutside/index.js +52 -0
- package/esm/Color/Color.js +324 -0
- package/esm/Color/ColorGenerator.js +137 -0
- package/esm/Color/ColorParser.js +320 -0
- package/esm/Color/index.js +5 -0
- package/esm/DatePicker/DatePickerIcon.js +4 -0
- package/esm/DatePicker/index.js +176 -0
- package/esm/DatePicker/useDatePickerFormat.js +121 -0
- package/esm/ErrorBoundary/RenderError.js +49 -0
- package/esm/ErrorBoundary/index.js +25 -0
- package/esm/Grid/index.js +38 -0
- package/esm/Highlighted/HighlightedContainer.js +17 -0
- package/esm/Highlighted/HighlightedMark.js +25 -0
- package/esm/Highlighted/HighlightedText.js +17 -0
- package/esm/Highlighted/index.js +51 -0
- package/esm/Image/index.js +40 -0
- package/esm/LoadingIndicator/LoadingOverlay.js +35 -0
- package/esm/LoadingIndicator/Spinner.js +53 -0
- package/esm/LoadingIndicator/SpinnerCircle.js +27 -0
- package/esm/LoadingIndicator/index.js +6 -0
- package/esm/MaskedField/index.js +74 -0
- package/esm/MaskedField/templates.js +80 -0
- package/esm/MaskedField/useMasked.js +106 -0
- package/esm/Menu/MenuContainer.js +366 -0
- package/esm/Menu/MenuItem.js +64 -0
- package/esm/Menu/MenuList.js +81 -0
- package/esm/Menu/context.js +41 -0
- package/esm/Menu/index.js +10 -0
- package/esm/Modal/BaseModal/ModalInner.js +40 -0
- package/esm/Modal/BaseModal/ModalInnerContainer.js +38 -0
- package/esm/Modal/BaseModal/ModalOverlay.js +28 -0
- package/esm/Modal/BaseModal/ModalWrapper.js +172 -0
- package/esm/Modal/BaseModal/RenderModal.js +31 -0
- package/esm/Modal/BaseModal/context.js +41 -0
- package/esm/Modal/BaseModal/index.js +50 -0
- package/esm/Modal/BaseModal/useDialogID.js +7 -0
- package/esm/Modal/ConfirmBox/ConfirmBoxContainer.js +27 -0
- package/esm/Modal/ConfirmBox/ConfirmBoxContent.js +22 -0
- package/esm/Modal/ConfirmBox/ConfirmBoxFooter.js +41 -0
- package/esm/Modal/ConfirmBox/ConfirmBoxHeader.js +26 -0
- package/esm/Modal/ConfirmBox/index.js +47 -0
- package/esm/Modal/Dialog/DialogInner.js +22 -0
- package/esm/Modal/Dialog/index.js +31 -0
- package/esm/Modal/Drawer/DrawerCloseIcon.js +12 -0
- package/esm/Modal/Drawer/DrawerContainer.js +26 -0
- package/esm/Modal/Drawer/DrawerContent.js +26 -0
- package/esm/Modal/Drawer/DrawerFooter.js +21 -0
- package/esm/Modal/Drawer/DrawerHeader.js +56 -0
- package/esm/Modal/Drawer/DrawerInner.js +145 -0
- package/esm/Modal/Drawer/index.js +50 -0
- package/esm/Modal/MessageBox/MessageBoxContainer.js +23 -0
- package/esm/Modal/MessageBox/MessageBoxContent.js +22 -0
- package/esm/Modal/MessageBox/MessageBoxFooter.js +40 -0
- package/esm/Modal/MessageBox/MessageBoxHeader.js +26 -0
- package/esm/Modal/MessageBox/index.js +48 -0
- package/esm/Modal/index.js +30 -0
- package/esm/NoSSR/index.js +10 -0
- package/esm/PhoneField/CountryFlagComponent.js +39 -0
- package/esm/PhoneField/UnknownFlag.js +6 -0
- package/esm/PhoneField/flags/BY.js +11 -0
- package/esm/PhoneField/flags/CN.js +7 -0
- package/esm/PhoneField/flags/IL.js +7 -0
- package/esm/PhoneField/flags/JP.js +6 -0
- package/esm/PhoneField/flags/KZ.js +7 -0
- package/esm/PhoneField/flags/RU.js +8 -0
- package/esm/PhoneField/flags/UA.js +6 -0
- package/esm/PhoneField/flags/US.js +10 -0
- package/esm/PhoneField/flags/Unknown.js +14 -0
- package/esm/PhoneField/flags/isLabelled.js +5 -0
- package/esm/PhoneField/index.js +71 -0
- package/esm/PhoneField/templates.js +39 -0
- package/esm/PhoneField/usePhoneUtils.js +156 -0
- package/esm/Popper/Popper.js +98 -0
- package/esm/Popper/PopperContainer.js +27 -0
- package/esm/Popper/index.js +5 -0
- package/esm/Popper/usePopper.js +514 -0
- package/esm/Radio/RadioBox.js +97 -0
- package/esm/Radio/RadioContainer.js +33 -0
- package/esm/Radio/RadioTextWrapper.js +24 -0
- package/esm/Radio/index.js +45 -0
- package/esm/Radio/useRadioColor.js +28 -0
- package/esm/RadioGroup/RadioGroupAsterisk.js +25 -0
- package/esm/RadioGroup/RadioGroupContainer.js +31 -0
- package/esm/RadioGroup/RadioGroupContext.js +6 -0
- package/esm/RadioGroup/RadioGroupErrorText.js +48 -0
- package/esm/RadioGroup/RadioGroupItems.js +25 -0
- package/esm/RadioGroup/RadioGroupLegend.js +32 -0
- package/esm/RadioGroup/index.js +58 -0
- package/esm/Selectbox/SelectboxButton.js +54 -0
- package/esm/Selectbox/SelectboxButtonWrapper.js +34 -0
- package/esm/Selectbox/SelectboxChevronIcon.js +23 -0
- package/esm/Selectbox/SelectboxContainer.js +23 -0
- package/esm/Selectbox/SelectboxMenu.js +30 -0
- package/esm/Selectbox/index.js +129 -0
- package/esm/Slider/SliderContainer.js +45 -0
- package/esm/Slider/SliderMark.js +35 -0
- package/esm/Slider/SliderMarkLabel.js +29 -0
- package/esm/Slider/SliderRail.js +44 -0
- package/esm/Slider/SliderThumb.js +66 -0
- package/esm/Slider/SliderTrack.js +43 -0
- package/esm/Slider/index.js +245 -0
- package/esm/Slider/useSliderColor.js +28 -0
- package/esm/Slider/utils.js +25 -0
- package/esm/Stack/index.js +33 -0
- package/esm/Surface/SurfaceContainer.js +41 -0
- package/esm/Surface/SurfaceContent.js +34 -0
- package/esm/Surface/SurfaceFooter.js +26 -0
- package/esm/Surface/SurfaceHeader.js +25 -0
- package/esm/Surface/SurfaceSubheader.js +24 -0
- package/esm/Surface/index.js +44 -0
- package/esm/Swiper/Swiper.js +519 -0
- package/esm/Swiper/SwiperContainer.js +7 -0
- package/esm/Swiper/SwiperSlide.js +29 -0
- package/esm/Swiper/SwiperSlidesRenderer.js +52 -0
- package/esm/Swiper/SwiperTrack.js +31 -0
- package/esm/Swiper/SwiperWrapper.js +41 -0
- package/esm/Swiper/index.js +7 -0
- package/esm/Switch/SwitchAsterisk.js +25 -0
- package/esm/Switch/SwitchContainer.js +47 -0
- package/esm/Switch/SwitchDot.js +100 -0
- package/esm/Switch/SwitchErrorText.js +48 -0
- package/esm/Switch/SwitchTextWrapper.js +25 -0
- package/esm/Switch/SwitchToggleWrapper.js +53 -0
- package/esm/Switch/SwitchTrack.js +39 -0
- package/esm/Switch/SwitchWrapper.js +26 -0
- package/esm/Switch/index.js +62 -0
- package/esm/Switch/useSwitchColor.js +28 -0
- package/esm/Table/Table.js +41 -0
- package/esm/Table/TableBody.js +27 -0
- package/esm/Table/TableCaption.js +24 -0
- package/esm/Table/TableCell.js +23 -0
- package/esm/Table/TableFooter.js +32 -0
- package/esm/Table/TableHeader.js +29 -0
- package/esm/Table/TableHeaderCell.js +29 -0
- package/esm/Table/TableRow.js +21 -0
- package/esm/Table/index.js +18 -0
- package/esm/Tabs/Tab.js +123 -0
- package/esm/Tabs/TabList.js +99 -0
- package/esm/Tabs/TabPanel.js +46 -0
- package/esm/Tabs/Tabs.js +76 -0
- package/esm/Tabs/context.js +9 -0
- package/esm/Tabs/index.js +5 -0
- package/esm/Tabs/useTabsColor.js +28 -0
- package/esm/TextArea/TextAreaIconWrapper.js +25 -0
- package/esm/TextArea/TextAreaInput.js +46 -0
- package/esm/TextArea/index.js +67 -0
- package/esm/TextField/TextFieldContainer.js +26 -0
- package/esm/TextField/TextFieldErrorText.js +48 -0
- package/esm/TextField/TextFieldIconWrapper.js +46 -0
- package/esm/TextField/TextFieldInput.js +46 -0
- package/esm/TextField/TextFieldInputWrapper.js +59 -0
- package/esm/TextField/TextFieldLabel.js +23 -0
- package/esm/TextField/TextFieldLabelAsterisk.js +24 -0
- package/esm/TextField/index.js +87 -0
- package/esm/ThemeProvider/components.js +2 -0
- package/esm/ThemeProvider/createTheme.js +42 -0
- package/esm/ThemeProvider/index.js +12 -0
- package/esm/ThemeProvider/tokens.js +26 -0
- package/esm/ThemeProvider/useThemeProps.js +29 -0
- package/esm/Toast/ToastAction.js +27 -0
- package/esm/Toast/ToastCard.js +80 -0
- package/esm/Toast/ToastCloseButton.js +43 -0
- package/esm/Toast/ToastContainer.js +150 -0
- package/esm/Toast/ToastIcon.js +66 -0
- package/esm/Toast/ToastItem.js +115 -0
- package/esm/Toast/index.js +4 -0
- package/esm/Toast/store.js +72 -0
- package/esm/Tooltip/TooltipArrow.js +57 -0
- package/esm/Tooltip/TooltipContainer.js +47 -0
- package/esm/Tooltip/index.js +191 -0
- package/esm/Typography/Base.js +11 -0
- package/esm/Typography/Blockquote.js +18 -0
- package/esm/Typography/Del.js +22 -0
- package/esm/Typography/Em.js +22 -0
- package/esm/Typography/H1.js +23 -0
- package/esm/Typography/H2.js +23 -0
- package/esm/Typography/H3.js +23 -0
- package/esm/Typography/H4.js +23 -0
- package/esm/Typography/H5.js +23 -0
- package/esm/Typography/H6.js +23 -0
- package/esm/Typography/List.js +26 -0
- package/esm/Typography/Paragraph.js +24 -0
- package/esm/Typography/SectionDescription.js +11 -0
- package/esm/Typography/SectionTitle.js +44 -0
- package/esm/Typography/Span.js +22 -0
- package/esm/Typography/Strong.js +22 -0
- package/esm/Typography/U.js +5 -0
- package/esm/Typography/index.js +20 -0
- package/esm/index.js +1 -0
- package/esm/utils/TabManager.js +139 -0
- package/esm/utils/spacing.js +10 -0
- package/package.json +1562 -76
- package/utils/spacing.d.ts +11 -0
- package/utils/spacing.js +14 -0
- package/Autocomplete/OverrideMenuList.d.ts +0 -4
- package/Autocomplete/OverrideMenuList.js +0 -39
- package/Autocomplete2/Autocomplete2.d.ts +0 -12
- package/Autocomplete2/Autocomplete2.js +0 -83
- package/Autocomplete2/Autocomplete2TextField.d.ts +0 -7
- package/Autocomplete2/Autocomplete2TextField.js +0 -39
- package/Autocomplete2/index.d.ts +0 -2
- package/Autocomplete2/index.js +0 -7
- package/CountryFlags/AC.js +0 -53
- package/CountryFlags/AD.js +0 -39
- package/CountryFlags/AE.js +0 -32
- package/CountryFlags/AF.js +0 -33
- package/CountryFlags/AG.js +0 -35
- package/CountryFlags/AI.js +0 -37
- package/CountryFlags/AL.js +0 -35
- package/CountryFlags/AM.d.ts +0 -3
- package/CountryFlags/AM.js +0 -31
- package/CountryFlags/AO.d.ts +0 -3
- package/CountryFlags/AO.js +0 -35
- package/CountryFlags/AQ.d.ts +0 -3
- package/CountryFlags/AQ.js +0 -30
- package/CountryFlags/AR.d.ts +0 -3
- package/CountryFlags/AR.js +0 -31
- package/CountryFlags/AS.d.ts +0 -3
- package/CountryFlags/AS.js +0 -33
- package/CountryFlags/AT.d.ts +0 -3
- package/CountryFlags/AT.js +0 -30
- package/CountryFlags/AU.d.ts +0 -3
- package/CountryFlags/AU.js +0 -41
- package/CountryFlags/AW.d.ts +0 -3
- package/CountryFlags/AW.js +0 -33
- package/CountryFlags/AX.d.ts +0 -3
- package/CountryFlags/AX.js +0 -31
- package/CountryFlags/AZ.d.ts +0 -3
- package/CountryFlags/AZ.js +0 -34
- package/CountryFlags/BA.d.ts +0 -3
- package/CountryFlags/BA.js +0 -40
- package/CountryFlags/BB.d.ts +0 -3
- package/CountryFlags/BB.js +0 -32
- package/CountryFlags/BD.d.ts +0 -3
- package/CountryFlags/BD.js +0 -30
- package/CountryFlags/BE.d.ts +0 -3
- package/CountryFlags/BE.js +0 -31
- package/CountryFlags/BF.d.ts +0 -3
- package/CountryFlags/BF.js +0 -31
- package/CountryFlags/BG.d.ts +0 -3
- package/CountryFlags/BG.js +0 -31
- package/CountryFlags/BH.d.ts +0 -3
- package/CountryFlags/BH.js +0 -30
- package/CountryFlags/BI.d.ts +0 -3
- package/CountryFlags/BI.js +0 -36
- package/CountryFlags/BJ.d.ts +0 -3
- package/CountryFlags/BJ.js +0 -31
- package/CountryFlags/BL.d.ts +0 -3
- package/CountryFlags/BL.js +0 -39
- package/CountryFlags/BM.d.ts +0 -3
- package/CountryFlags/BM.js +0 -40
- package/CountryFlags/BN.d.ts +0 -3
- package/CountryFlags/BN.js +0 -34
- package/CountryFlags/BO.d.ts +0 -3
- package/CountryFlags/BO.js +0 -31
- package/CountryFlags/BQ.d.ts +0 -3
- package/CountryFlags/BQ.js +0 -33
- package/CountryFlags/BR.d.ts +0 -3
- package/CountryFlags/BR.js +0 -32
- package/CountryFlags/BS.d.ts +0 -3
- package/CountryFlags/BS.js +0 -32
- package/CountryFlags/BT.d.ts +0 -3
- package/CountryFlags/BT.js +0 -31
- package/CountryFlags/BV.d.ts +0 -3
- package/CountryFlags/BV.js +0 -33
- package/CountryFlags/BW.d.ts +0 -3
- package/CountryFlags/BW.js +0 -32
- package/CountryFlags/BY.js +0 -35
- package/CountryFlags/BZ.d.ts +0 -3
- package/CountryFlags/BZ.js +0 -36
- package/CountryFlags/CA.d.ts +0 -3
- package/CountryFlags/CA.js +0 -31
- package/CountryFlags/CC.d.ts +0 -3
- package/CountryFlags/CC.js +0 -33
- package/CountryFlags/CD.d.ts +0 -3
- package/CountryFlags/CD.js +0 -32
- package/CountryFlags/CF.d.ts +0 -3
- package/CountryFlags/CF.js +0 -36
- package/CountryFlags/CG.d.ts +0 -3
- package/CountryFlags/CG.js +0 -31
- package/CountryFlags/CH.d.ts +0 -3
- package/CountryFlags/CH.js +0 -30
- package/CountryFlags/CI.d.ts +0 -3
- package/CountryFlags/CI.js +0 -31
- package/CountryFlags/CK.d.ts +0 -3
- package/CountryFlags/CK.js +0 -34
- package/CountryFlags/CL.d.ts +0 -3
- package/CountryFlags/CL.js +0 -32
- package/CountryFlags/CM.d.ts +0 -3
- package/CountryFlags/CM.js +0 -32
- package/CountryFlags/CN.js +0 -31
- package/CountryFlags/CO.d.ts +0 -3
- package/CountryFlags/CO.js +0 -31
- package/CountryFlags/CR.d.ts +0 -3
- package/CountryFlags/CR.js +0 -31
- package/CountryFlags/CU.d.ts +0 -3
- package/CountryFlags/CU.js +0 -34
- package/CountryFlags/CV.d.ts +0 -3
- package/CountryFlags/CV.js +0 -33
- package/CountryFlags/CW.d.ts +0 -3
- package/CountryFlags/CW.js +0 -32
- package/CountryFlags/CX.d.ts +0 -3
- package/CountryFlags/CX.js +0 -35
- package/CountryFlags/CY.d.ts +0 -3
- package/CountryFlags/CY.js +0 -34
- package/CountryFlags/CZ.d.ts +0 -3
- package/CountryFlags/CZ.js +0 -31
- package/CountryFlags/DE.d.ts +0 -3
- package/CountryFlags/DE.js +0 -31
- package/CountryFlags/DJ.d.ts +0 -3
- package/CountryFlags/DJ.js +0 -32
- package/CountryFlags/DK.d.ts +0 -3
- package/CountryFlags/DK.js +0 -30
- package/CountryFlags/DM.d.ts +0 -3
- package/CountryFlags/DM.js +0 -39
- package/CountryFlags/DO.d.ts +0 -3
- package/CountryFlags/DO.js +0 -38
- package/CountryFlags/DZ.d.ts +0 -3
- package/CountryFlags/DZ.js +0 -33
- package/CountryFlags/EC.d.ts +0 -3
- package/CountryFlags/EC.js +0 -35
- package/CountryFlags/EE.d.ts +0 -3
- package/CountryFlags/EE.js +0 -31
- package/CountryFlags/EG.d.ts +0 -3
- package/CountryFlags/EG.js +0 -32
- package/CountryFlags/EH.d.ts +0 -3
- package/CountryFlags/EH.js +0 -34
- package/CountryFlags/ER.d.ts +0 -3
- package/CountryFlags/ER.js +0 -40
- package/CountryFlags/ES.d.ts +0 -3
- package/CountryFlags/ES.js +0 -34
- package/CountryFlags/ET.d.ts +0 -3
- package/CountryFlags/ET.js +0 -37
- package/CountryFlags/EU.d.ts +0 -3
- package/CountryFlags/EU.js +0 -30
- package/CountryFlags/FI.d.ts +0 -3
- package/CountryFlags/FI.js +0 -30
- package/CountryFlags/FJ.d.ts +0 -3
- package/CountryFlags/FJ.js +0 -36
- package/CountryFlags/FK.d.ts +0 -3
- package/CountryFlags/FK.js +0 -43
- package/CountryFlags/FM.d.ts +0 -3
- package/CountryFlags/FM.js +0 -31
- package/CountryFlags/FO.d.ts +0 -3
- package/CountryFlags/FO.js +0 -31
- package/CountryFlags/FR.d.ts +0 -3
- package/CountryFlags/FR.js +0 -31
- package/CountryFlags/GA.d.ts +0 -3
- package/CountryFlags/GA.js +0 -31
- package/CountryFlags/GB.d.ts +0 -3
- package/CountryFlags/GB.js +0 -36
- package/CountryFlags/GD.d.ts +0 -3
- package/CountryFlags/GD.js +0 -38
- package/CountryFlags/GE.d.ts +0 -3
- package/CountryFlags/GE.js +0 -31
- package/CountryFlags/GEAB.d.ts +0 -3
- package/CountryFlags/GEAB.js +0 -40
- package/CountryFlags/GEOS.d.ts +0 -3
- package/CountryFlags/GEOS.js +0 -31
- package/CountryFlags/GF.d.ts +0 -3
- package/CountryFlags/GF.js +0 -31
- package/CountryFlags/GG.d.ts +0 -3
- package/CountryFlags/GG.js +0 -31
- package/CountryFlags/GH.d.ts +0 -3
- package/CountryFlags/GH.js +0 -32
- package/CountryFlags/GI.d.ts +0 -3
- package/CountryFlags/GI.js +0 -34
- package/CountryFlags/GL.d.ts +0 -3
- package/CountryFlags/GL.js +0 -32
- package/CountryFlags/GM.d.ts +0 -3
- package/CountryFlags/GM.js +0 -32
- package/CountryFlags/GN.d.ts +0 -3
- package/CountryFlags/GN.js +0 -31
- package/CountryFlags/GP.d.ts +0 -3
- package/CountryFlags/GP.js +0 -31
- package/CountryFlags/GQ.d.ts +0 -3
- package/CountryFlags/GQ.js +0 -37
- package/CountryFlags/GR.d.ts +0 -3
- package/CountryFlags/GR.js +0 -35
- package/CountryFlags/GS.d.ts +0 -3
- package/CountryFlags/GS.js +0 -49
- package/CountryFlags/GT.d.ts +0 -3
- package/CountryFlags/GT.js +0 -33
- package/CountryFlags/GU.d.ts +0 -3
- package/CountryFlags/GU.js +0 -37
- package/CountryFlags/GW.d.ts +0 -3
- package/CountryFlags/GW.js +0 -32
- package/CountryFlags/GY.d.ts +0 -3
- package/CountryFlags/GY.js +0 -33
- package/CountryFlags/HK.d.ts +0 -3
- package/CountryFlags/HK.js +0 -32
- package/CountryFlags/HM.d.ts +0 -3
- package/CountryFlags/HM.js +0 -41
- package/CountryFlags/HN.d.ts +0 -3
- package/CountryFlags/HN.js +0 -31
- package/CountryFlags/HR.d.ts +0 -3
- package/CountryFlags/HR.js +0 -38
- package/CountryFlags/HT.d.ts +0 -3
- package/CountryFlags/HT.js +0 -36
- package/CountryFlags/HU.d.ts +0 -3
- package/CountryFlags/HU.js +0 -31
- package/CountryFlags/IC.d.ts +0 -3
- package/CountryFlags/IC.js +0 -31
- package/CountryFlags/ID.d.ts +0 -3
- package/CountryFlags/ID.js +0 -30
- package/CountryFlags/IE.d.ts +0 -3
- package/CountryFlags/IE.js +0 -31
- package/CountryFlags/IL.d.ts +0 -3
- package/CountryFlags/IL.js +0 -31
- package/CountryFlags/IM.d.ts +0 -3
- package/CountryFlags/IM.js +0 -31
- package/CountryFlags/IN.d.ts +0 -3
- package/CountryFlags/IN.js +0 -35
- package/CountryFlags/IO.d.ts +0 -3
- package/CountryFlags/IO.js +0 -41
- package/CountryFlags/IQ.d.ts +0 -3
- package/CountryFlags/IQ.js +0 -33
- package/CountryFlags/IR.d.ts +0 -3
- package/CountryFlags/IR.js +0 -34
- package/CountryFlags/IS.d.ts +0 -3
- package/CountryFlags/IS.js +0 -31
- package/CountryFlags/IT.d.ts +0 -3
- package/CountryFlags/IT.js +0 -31
- package/CountryFlags/JE.d.ts +0 -3
- package/CountryFlags/JE.js +0 -32
- package/CountryFlags/JM.d.ts +0 -3
- package/CountryFlags/JM.js +0 -32
- package/CountryFlags/JO.d.ts +0 -3
- package/CountryFlags/JO.js +0 -33
- package/CountryFlags/JP.d.ts +0 -3
- package/CountryFlags/JP.js +0 -30
- package/CountryFlags/KE.d.ts +0 -3
- package/CountryFlags/KE.js +0 -38
- package/CountryFlags/KG.d.ts +0 -3
- package/CountryFlags/KG.js +0 -35
- package/CountryFlags/KH.d.ts +0 -3
- package/CountryFlags/KH.js +0 -32
- package/CountryFlags/KI.d.ts +0 -3
- package/CountryFlags/KI.js +0 -35
- package/CountryFlags/KM.d.ts +0 -3
- package/CountryFlags/KM.js +0 -37
- package/CountryFlags/KN.d.ts +0 -3
- package/CountryFlags/KN.js +0 -34
- package/CountryFlags/KP.d.ts +0 -3
- package/CountryFlags/KP.js +0 -35
- package/CountryFlags/KR.d.ts +0 -3
- package/CountryFlags/KR.js +0 -38
- package/CountryFlags/KW.d.ts +0 -3
- package/CountryFlags/KW.js +0 -32
- package/CountryFlags/KY.d.ts +0 -3
- package/CountryFlags/KY.js +0 -41
- package/CountryFlags/KZ.d.ts +0 -3
- package/CountryFlags/KZ.js +0 -31
- package/CountryFlags/LA.d.ts +0 -3
- package/CountryFlags/LA.js +0 -32
- package/CountryFlags/LB.d.ts +0 -3
- package/CountryFlags/LB.js +0 -33
- package/CountryFlags/LC.d.ts +0 -3
- package/CountryFlags/LC.js +0 -32
- package/CountryFlags/LI.d.ts +0 -3
- package/CountryFlags/LI.js +0 -31
- package/CountryFlags/LK.d.ts +0 -3
- package/CountryFlags/LK.js +0 -36
- package/CountryFlags/LR.d.ts +0 -3
- package/CountryFlags/LR.js +0 -33
- package/CountryFlags/LS.d.ts +0 -3
- package/CountryFlags/LS.js +0 -33
- package/CountryFlags/LT.d.ts +0 -3
- package/CountryFlags/LT.js +0 -31
- package/CountryFlags/LU.d.ts +0 -3
- package/CountryFlags/LU.js +0 -31
- package/CountryFlags/LV.d.ts +0 -3
- package/CountryFlags/LV.js +0 -31
- package/CountryFlags/LY.d.ts +0 -3
- package/CountryFlags/LY.js +0 -34
- package/CountryFlags/MA.d.ts +0 -3
- package/CountryFlags/MA.js +0 -30
- package/CountryFlags/MC.d.ts +0 -3
- package/CountryFlags/MC.js +0 -30
- package/CountryFlags/MD.d.ts +0 -3
- package/CountryFlags/MD.js +0 -32
- package/CountryFlags/ME.d.ts +0 -3
- package/CountryFlags/ME.js +0 -32
- package/CountryFlags/MF.d.ts +0 -3
- package/CountryFlags/MF.js +0 -33
- package/CountryFlags/MG.d.ts +0 -3
- package/CountryFlags/MG.js +0 -31
- package/CountryFlags/MH.d.ts +0 -3
- package/CountryFlags/MH.js +0 -32
- package/CountryFlags/MK.d.ts +0 -3
- package/CountryFlags/MK.js +0 -33
- package/CountryFlags/ML.d.ts +0 -3
- package/CountryFlags/ML.js +0 -31
- package/CountryFlags/MM.d.ts +0 -3
- package/CountryFlags/MM.js +0 -32
- package/CountryFlags/MN.d.ts +0 -3
- package/CountryFlags/MN.js +0 -37
- package/CountryFlags/MO.d.ts +0 -3
- package/CountryFlags/MO.js +0 -34
- package/CountryFlags/MP.d.ts +0 -3
- package/CountryFlags/MP.js +0 -35
- package/CountryFlags/MQ.d.ts +0 -3
- package/CountryFlags/MQ.js +0 -32
- package/CountryFlags/MR.d.ts +0 -3
- package/CountryFlags/MR.js +0 -32
- package/CountryFlags/MS.d.ts +0 -3
- package/CountryFlags/MS.js +0 -40
- package/CountryFlags/MT.d.ts +0 -3
- package/CountryFlags/MT.js +0 -31
- package/CountryFlags/MU.d.ts +0 -3
- package/CountryFlags/MU.js +0 -32
- package/CountryFlags/MV.d.ts +0 -3
- package/CountryFlags/MV.js +0 -31
- package/CountryFlags/MW.d.ts +0 -3
- package/CountryFlags/MW.js +0 -32
- package/CountryFlags/MX.d.ts +0 -3
- package/CountryFlags/MX.js +0 -33
- package/CountryFlags/MY.d.ts +0 -3
- package/CountryFlags/MY.js +0 -33
- package/CountryFlags/MZ.d.ts +0 -3
- package/CountryFlags/MZ.js +0 -34
- package/CountryFlags/NA.d.ts +0 -3
- package/CountryFlags/NA.js +0 -33
- package/CountryFlags/NC.d.ts +0 -3
- package/CountryFlags/NC.js +0 -38
- package/CountryFlags/NE.d.ts +0 -3
- package/CountryFlags/NE.js +0 -32
- package/CountryFlags/NF.d.ts +0 -3
- package/CountryFlags/NF.js +0 -31
- package/CountryFlags/NG.d.ts +0 -3
- package/CountryFlags/NG.js +0 -31
- package/CountryFlags/NI.d.ts +0 -3
- package/CountryFlags/NI.js +0 -35
- package/CountryFlags/NL.d.ts +0 -3
- package/CountryFlags/NL.js +0 -31
- package/CountryFlags/NO.d.ts +0 -3
- package/CountryFlags/NO.js +0 -31
- package/CountryFlags/NP.d.ts +0 -3
- package/CountryFlags/NP.js +0 -34
- package/CountryFlags/NR.d.ts +0 -3
- package/CountryFlags/NR.js +0 -31
- package/CountryFlags/NU.d.ts +0 -3
- package/CountryFlags/NU.js +0 -53
- package/CountryFlags/NZ.d.ts +0 -3
- package/CountryFlags/NZ.js +0 -41
- package/CountryFlags/OM.d.ts +0 -3
- package/CountryFlags/OM.js +0 -34
- package/CountryFlags/PA.d.ts +0 -3
- package/CountryFlags/PA.js +0 -33
- package/CountryFlags/PE.d.ts +0 -3
- package/CountryFlags/PE.js +0 -31
- package/CountryFlags/PF.d.ts +0 -3
- package/CountryFlags/PF.js +0 -35
- package/CountryFlags/PG.d.ts +0 -3
- package/CountryFlags/PG.js +0 -33
- package/CountryFlags/PH.d.ts +0 -3
- package/CountryFlags/PH.js +0 -33
- package/CountryFlags/PK.d.ts +0 -3
- package/CountryFlags/PK.js +0 -34
- package/CountryFlags/PL.d.ts +0 -3
- package/CountryFlags/PL.js +0 -32
- package/CountryFlags/PM.d.ts +0 -3
- package/CountryFlags/PM.js +0 -32
- package/CountryFlags/PN.d.ts +0 -3
- package/CountryFlags/PN.js +0 -43
- package/CountryFlags/PR.d.ts +0 -3
- package/CountryFlags/PR.js +0 -33
- package/CountryFlags/PS.d.ts +0 -3
- package/CountryFlags/PS.js +0 -32
- package/CountryFlags/PT.d.ts +0 -3
- package/CountryFlags/PT.js +0 -33
- package/CountryFlags/PW.d.ts +0 -3
- package/CountryFlags/PW.js +0 -30
- package/CountryFlags/PY.d.ts +0 -3
- package/CountryFlags/PY.js +0 -33
- package/CountryFlags/QA.d.ts +0 -3
- package/CountryFlags/QA.js +0 -30
- package/CountryFlags/RE.d.ts +0 -3
- package/CountryFlags/RE.js +0 -32
- package/CountryFlags/RO.d.ts +0 -3
- package/CountryFlags/RO.js +0 -31
- package/CountryFlags/RS.d.ts +0 -3
- package/CountryFlags/RS.js +0 -35
- package/CountryFlags/RU.d.ts +0 -3
- package/CountryFlags/RU.js +0 -32
- package/CountryFlags/RW.d.ts +0 -3
- package/CountryFlags/RW.js +0 -32
- package/CountryFlags/SA.d.ts +0 -3
- package/CountryFlags/SA.js +0 -33
- package/CountryFlags/SB.d.ts +0 -3
- package/CountryFlags/SB.js +0 -33
- package/CountryFlags/SC.d.ts +0 -3
- package/CountryFlags/SC.js +0 -33
- package/CountryFlags/SD.d.ts +0 -3
- package/CountryFlags/SD.js +0 -32
- package/CountryFlags/SE.d.ts +0 -3
- package/CountryFlags/SE.js +0 -30
- package/CountryFlags/SG.d.ts +0 -3
- package/CountryFlags/SG.js +0 -33
- package/CountryFlags/SH.d.ts +0 -3
- package/CountryFlags/SH.js +0 -43
- package/CountryFlags/SI.d.ts +0 -3
- package/CountryFlags/SI.js +0 -34
- package/CountryFlags/SJ.d.ts +0 -3
- package/CountryFlags/SJ.js +0 -31
- package/CountryFlags/SK.d.ts +0 -3
- package/CountryFlags/SK.js +0 -35
- package/CountryFlags/SL.d.ts +0 -3
- package/CountryFlags/SL.js +0 -31
- package/CountryFlags/SM.d.ts +0 -3
- package/CountryFlags/SM.js +0 -35
- package/CountryFlags/SN.d.ts +0 -3
- package/CountryFlags/SN.js +0 -32
- package/CountryFlags/SO.d.ts +0 -3
- package/CountryFlags/SO.js +0 -30
- package/CountryFlags/SR.d.ts +0 -3
- package/CountryFlags/SR.js +0 -33
- package/CountryFlags/SS.d.ts +0 -3
- package/CountryFlags/SS.js +0 -34
- package/CountryFlags/ST.d.ts +0 -3
- package/CountryFlags/ST.js +0 -33
- package/CountryFlags/SV.d.ts +0 -3
- package/CountryFlags/SV.js +0 -34
- package/CountryFlags/SX.d.ts +0 -3
- package/CountryFlags/SX.js +0 -37
- package/CountryFlags/SY.d.ts +0 -3
- package/CountryFlags/SY.js +0 -33
- package/CountryFlags/SZ.d.ts +0 -3
- package/CountryFlags/SZ.js +0 -35
- package/CountryFlags/SwiperOverview.d.ts +0 -257
- package/CountryFlags/SwiperOverview.js +0 -524
- package/CountryFlags/TA.d.ts +0 -3
- package/CountryFlags/TA.js +0 -47
- package/CountryFlags/TC.d.ts +0 -3
- package/CountryFlags/TC.js +0 -44
- package/CountryFlags/TD.d.ts +0 -3
- package/CountryFlags/TD.js +0 -31
- package/CountryFlags/TF.d.ts +0 -3
- package/CountryFlags/TF.js +0 -34
- package/CountryFlags/TG.d.ts +0 -3
- package/CountryFlags/TG.js +0 -33
- package/CountryFlags/TH.d.ts +0 -3
- package/CountryFlags/TH.js +0 -32
- package/CountryFlags/TJ.d.ts +0 -3
- package/CountryFlags/TJ.js +0 -33
- package/CountryFlags/TK.d.ts +0 -3
- package/CountryFlags/TK.js +0 -33
- package/CountryFlags/TL.d.ts +0 -3
- package/CountryFlags/TL.js +0 -32
- package/CountryFlags/TM.d.ts +0 -3
- package/CountryFlags/TM.js +0 -45
- package/CountryFlags/TN.d.ts +0 -3
- package/CountryFlags/TN.js +0 -33
- package/CountryFlags/TO.d.ts +0 -3
- package/CountryFlags/TO.js +0 -31
- package/CountryFlags/TR.d.ts +0 -3
- package/CountryFlags/TR.js +0 -30
- package/CountryFlags/TT.d.ts +0 -3
- package/CountryFlags/TT.js +0 -31
- package/CountryFlags/TV.d.ts +0 -3
- package/CountryFlags/TV.js +0 -36
- package/CountryFlags/TW.d.ts +0 -3
- package/CountryFlags/TW.js +0 -33
- package/CountryFlags/TZ.d.ts +0 -3
- package/CountryFlags/TZ.js +0 -32
- package/CountryFlags/UA.d.ts +0 -3
- package/CountryFlags/UA.js +0 -30
- package/CountryFlags/UG.d.ts +0 -3
- package/CountryFlags/UG.js +0 -35
- package/CountryFlags/UM.d.ts +0 -3
- package/CountryFlags/UM.js +0 -34
- package/CountryFlags/US.d.ts +0 -3
- package/CountryFlags/US.js +0 -34
- package/CountryFlags/UY.d.ts +0 -3
- package/CountryFlags/UY.js +0 -33
- package/CountryFlags/UZ.d.ts +0 -3
- package/CountryFlags/UZ.js +0 -35
- package/CountryFlags/Uknown.d.ts +0 -3
- package/CountryFlags/Uknown.js +0 -34
- package/CountryFlags/VA.d.ts +0 -3
- package/CountryFlags/VA.js +0 -32
- package/CountryFlags/VC.d.ts +0 -3
- package/CountryFlags/VC.js +0 -32
- package/CountryFlags/VE.d.ts +0 -3
- package/CountryFlags/VE.js +0 -32
- package/CountryFlags/VG.d.ts +0 -3
- package/CountryFlags/VG.js +0 -45
- package/CountryFlags/VI.d.ts +0 -3
- package/CountryFlags/VI.js +0 -41
- package/CountryFlags/VN.d.ts +0 -3
- package/CountryFlags/VN.js +0 -30
- package/CountryFlags/VU.d.ts +0 -3
- package/CountryFlags/VU.js +0 -35
- package/CountryFlags/WF.d.ts +0 -3
- package/CountryFlags/WF.js +0 -33
- package/CountryFlags/WS.d.ts +0 -3
- package/CountryFlags/WS.js +0 -32
- package/CountryFlags/XK.d.ts +0 -3
- package/CountryFlags/XK.js +0 -32
- package/CountryFlags/YE.d.ts +0 -3
- package/CountryFlags/YE.js +0 -31
- package/CountryFlags/YT.d.ts +0 -3
- package/CountryFlags/YT.js +0 -35
- package/CountryFlags/ZA.d.ts +0 -3
- package/CountryFlags/ZA.js +0 -34
- package/CountryFlags/ZM.d.ts +0 -3
- package/CountryFlags/ZM.js +0 -33
- package/CountryFlags/ZW.d.ts +0 -3
- package/CountryFlags/ZW.js +0 -39
- package/CountryFlags/index.d.ts +0 -257
- package/CountryFlags/index.js +0 -524
- package/ErrorBoundary/Fallback.d.ts +0 -3
- package/ErrorBoundary/Fallback.js +0 -51
- package/Menu/AutoHeightWrapper.d.ts +0 -6
- package/Menu/AutoHeightWrapper.js +0 -43
- package/Menu/MeasuredItem.d.ts +0 -10
- package/Menu/MeasuredItem.js +0 -51
- package/Menu/VirtualizedItem.d.ts +0 -22
- package/Menu/VirtualizedItem.js +0 -69
- package/Menu/VirtualizedList.d.ts +0 -18
- package/Menu/VirtualizedList.js +0 -26
- package/Menu/VirtualizedListComponent.d.ts +0 -20
- package/Menu/VirtualizedListComponent.js +0 -305
- /package/{CountryFlags → PhoneField/flags}/BY.d.ts +0 -0
- /package/{CountryFlags → PhoneField/flags}/CN.d.ts +0 -0
- /package/{CountryFlags/AC.d.ts → PhoneField/flags/IL.d.ts} +0 -0
- /package/{CountryFlags/AD.d.ts → PhoneField/flags/JP.d.ts} +0 -0
- /package/{CountryFlags/AE.d.ts → PhoneField/flags/KZ.d.ts} +0 -0
- /package/{CountryFlags/AF.d.ts → PhoneField/flags/RU.d.ts} +0 -0
- /package/{CountryFlags/AG.d.ts → PhoneField/flags/UA.d.ts} +0 -0
- /package/{CountryFlags/AI.d.ts → PhoneField/flags/US.d.ts} +0 -0
- /package/{CountryFlags/AL.d.ts → PhoneField/flags/Unknown.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,166 @@
|
|
|
4
4
|
|
|
5
5
|
## Не выпущено
|
|
6
6
|
|
|
7
|
+
## 0.5.0 — 2026-10-02
|
|
8
|
+
|
|
9
|
+
Новые компоненты: `Slider`, `Tabs`, `Tooltip` и `Toast` (замена react-toastify с тем же API). Оформление компонентов в теме — `defaultProps` и `overrides` для всего приложения, токены рамки фокуса, теней и шрифта. Пакет собирается и в ES-модули: сборщики выбрасывают неиспользуемый код. Календарь и дейтпикер больше не требуют `react-intl`.
|
|
10
|
+
|
|
11
|
+
Версия содержит несовместимые изменения. Как обновиться с 0.4:
|
|
12
|
+
|
|
13
|
+
- `CountryFlags`: модуль удалён. Если вы импортировали флаги из `@via-profit/ui-kit/CountryFlags`, перенесите нужные SVG в свой проект. `PhoneField` по-прежнему показывает флаги стран из набора шаблонов по умолчанию;
|
|
14
|
+
- `Menu`: удалены неиспользуемые `Menu/VirtualizedList`, `Menu/VirtualizedListComponent`, `Menu/VirtualizedItem`, `Menu/MeasuredItem` и `Menu/AutoHeightWrapper` — уберите их импорты;
|
|
15
|
+
- импорт: работают только пути модулей из карты `exports` — `@via-profit/ui-kit/Button`, `@via-profit/ui-kit/Button/ButtonContainer` и т. п. Пути с расширением `.js` или с `dist` уберите;
|
|
16
|
+
- `ErrorBoundary`: в production сообщение об ошибке по умолчанию на английском; свои тексты передайте в `title` и `description`.
|
|
17
|
+
|
|
18
|
+
Подробности — в разделах ниже.
|
|
19
|
+
|
|
20
|
+
### Добавлено
|
|
21
|
+
|
|
22
|
+
- **ThemeProvider**: оформление компонентов в теме — `components` с `defaultProps` и `overrides` по имени компонента. Свойства и `overrides`, переданные компоненту в коде, важнее темы. Токены темы: `typography.fontFamily`, `focusRing` (одинаковая рамка фокуса во всех компонентах) и `elevation` (тени всплывающих элементов и карточек); без них компоненты выглядят как раньше.
|
|
23
|
+
- **Button**: `ButtonBase` и часть `Container` принимают `variant` и `groupOrientation`; стили вариантов перенесены внутрь `Container`, поэтому `styled(ButtonContainer)` в `overrides` теперь перекрывает стили варианта. Внешний вид кнопок не изменился.
|
|
24
|
+
- **Toast**: новый компонент `@via-profit/ui-kit/Toast` — уведомления с API react-toastify (`toast`, `toast.info/success/warning/error/loading`, `toast.update`, `toast.dismiss`, `ToastContainer` с `position`, `autoClose`, `limit`), а также `description` и кнопки `actions`; клик по интерактивным элементам внутри не закрывает уведомление, таймер стоит под курсором, при фокусе внутри и в неактивном окне; F8 переводит фокус к уведомлениям, Escape закрывает, ошибки читаются сразу (`role="alert"`); несколько контейнеров через `containerId` и `overrides`.
|
|
25
|
+
- **Tooltip**: новый компонент `@via-profit/ui-kit/Tooltip` — подсказка при наведении и фокусе с клавиатуры: расположение и автоматический переворот, стрелка, задержки появления и скрытия, подсказку можно навести указателем, соседняя подсказка появляется без задержки, Escape скрывает; строковый `title` становится `aria-label` элемента, а с `describeChild` подсказка связывается через `aria-describedby`; контролируемый режим (`isOpen`, `onOpenChange`) и `overrides`.
|
|
26
|
+
- **Tabs**: новый компонент `@via-profit/ui-kit/Tabs` — вкладки `Tabs`, `TabList`, `Tab`, `TabPanel`: контролируемый и неконтролируемый режимы, вертикальное расположение, `fullWidth`, цвет, прокрутка ряда с выбранной вкладкой в видимой части, `keepMounted` у панели; роли `tablist`/`tab`/`tabpanel` связываются автоматически, стрелки, Home/End, автоматический и ручной (`activation="manual"`) выбор.
|
|
27
|
+
- **Slider**: новый компонент `@via-profit/ui-kit/Slider` — выбор числа или диапазона ползунком: контролируемый и неконтролируемый режимы, шаг, метки с подписями, вертикальное расположение, цвет, `onChangeCommitted` по окончании перетаскивания, значение в форме через `name` и `overrides`; ползунки — элементы с ролью `slider`, управляются стрелками, PageUp/PageDown и Home/End.
|
|
28
|
+
|
|
29
|
+
### Изменено
|
|
30
|
+
|
|
31
|
+
- **Пакет**: кроме CommonJS, собираются ES-модули (`esm/`); в `package.json` добавлены `module`, `sideEffects: false` и карта `exports` со всеми модулями. Сборщики (webpack, Vite) берут ES-модули и выбрасывают неиспользуемый код: импорт одного `H1` из `@via-profit/ui-kit/Typography` занимает около 1 КБ вместо 15. Пути импорта не изменились (`@via-profit/ui-kit/Button`, `@via-profit/ui-kit/Button/ButtonContainer`), но пути, которых нет в `exports`, больше не работают: например, с расширением `.js` или с `dist` в пути — уберите их.
|
|
32
|
+
|
|
33
|
+
### Удалено
|
|
34
|
+
|
|
35
|
+
- **CountryFlags**: модуль `@via-profit/ui-kit/CountryFlags` удалён — флаги стран не относятся к UI-киту. `PhoneField` по-прежнему показывает флаги стран из набора шаблонов по умолчанию; в своих шаблонах передайте как флаг любой элемент — свою иконку или флаг из шаблонов по умолчанию: `defaultTemplates.find(([code]) => code === 'RU')?.[1]`. Если вы импортировали флаги из `CountryFlags`, перенесите нужные SVG в свой проект.
|
|
36
|
+
- **Menu**: неиспользуемые файлы виртуализированного списка — `Menu/VirtualizedList`, `Menu/VirtualizedListComponent`, `Menu/VirtualizedItem`, `Menu/MeasuredItem`, `Menu/AutoHeightWrapper`. Меню их не использовало.
|
|
37
|
+
- **ErrorBoundary**: неиспользуемый `ErrorBoundary/Fallback`.
|
|
38
|
+
|
|
39
|
+
### Исправлено
|
|
40
|
+
|
|
41
|
+
- **Calendar**, **DatePicker**: больше не требуют `react-intl`. Календарь оборачивает себя в `ErrorBoundary`, а тот импортировал `react-intl`, которого нет в зависимостях пакета: без него календарь не собирался.
|
|
42
|
+
- **ErrorBoundary**: свойство `fallback` теперь работает; тексты сообщения об ошибке задаются свойствами `title` и `description` (по умолчанию `Something went wrong` и `Please let the developers know`) вместо русских строк через `react-intl`.
|
|
43
|
+
- **Selectbox**: значение выводится шрифтом поля ввода — селектбокс той же высоты, что `TextField`, `Autocomplete` и `DatePicker` (раньше был ниже на 2px, а текст значения мельче).
|
|
44
|
+
|
|
45
|
+
## 0.4.0 — 2026-10-01
|
|
46
|
+
|
|
47
|
+
Новые компоненты: `Checkbox`, `Radio` и `RadioGroup`, `ButtonGroup`, `Stack` и `Grid`, шкала отступов темы. Доступность с клавиатуры и для программ чтения с экрана во многих компонентах, исправления ошибок по всей библиотеке.
|
|
48
|
+
|
|
49
|
+
Версия содержит несовместимые изменения. Как обновиться с 0.3:
|
|
50
|
+
|
|
51
|
+
- `LoadingIndicator`: экспорт по умолчанию — строчный `Spinner`. Если вы использовали слой загрузки поверх блока, импортируйте `LoadingOverlay`: `import { LoadingOverlay } from '@via-profit/ui-kit/LoadingIndicator'`;
|
|
52
|
+
- `DatePicker`: `onChange` получает `Date | null` — обработчик, принимающий только `Date`, нужно доработать;
|
|
53
|
+
- `Switch`: `ref` указывает на `<input>`; переопределения `ToggleWrapper` и `Container` получают ref на `<input>` и `<label>`;
|
|
54
|
+
- `Accordion`: `onOpen` получает новое состояние и больше не отключает внутреннее переключение неконтролируемого аккордеона; внутренний отступ заголовка перенесён на кнопку внутри него;
|
|
55
|
+
- `Autocomplete`: удалены `Autocomplete2` и `Autocomplete/OverrideMenuList`; мультивыбор переработан;
|
|
56
|
+
- `Table`: таблица больше не перестраивается в блоки на узких экранах — оберните широкие таблицы в контейнер с `overflow-x: auto`;
|
|
57
|
+
- `Swiper`: контейнер не ограничен шириной `1200px`;
|
|
58
|
+
- `Menu`: клик по анкору больше не вызывает `onRequestClose`.
|
|
59
|
+
|
|
60
|
+
Подробности — в разделах ниже.
|
|
61
|
+
|
|
62
|
+
### Добавлено
|
|
63
|
+
|
|
64
|
+
- **Stack**, **Grid**: компоненты раскладки `@via-profit/ui-kit/Stack` и `@via-profit/ui-kit/Grid` — элементы в столбец или строку с одинаковым отступом и сетка колонок, которая с `minColumnWidth` сама перестраивается по ширине; оба без обёрток вокруг элементов. **ThemeProvider**: шкала отступов `theme.spacing` (`xs`, `sm`, `md`, `lg`, `xl`), её принимает `gap` у `Stack` и `Grid`.
|
|
65
|
+
- **Radio**, **RadioGroup**: новые компоненты `@via-profit/ui-kit/Radio` и `@via-profit/ui-kit/RadioGroup` — радиокнопки и группа с подписью, контролируемым и неконтролируемым выбором, горизонтальным расположением, цветом, обязательным выбором, текстом ошибки и `overrides`; группа — `<fieldset>` с ролью `radiogroup`, стрелки переключают вариант.
|
|
66
|
+
- **CountryFlags**: заглушка `Unknown` для неизвестной страны в пропорции 3:2, как у флагов; она же экспортируется из `@via-profit/ui-kit/CountryFlags` вместе со всеми флагами. Флаги по умолчанию скрыты от программ чтения с экрана (`aria-hidden`), а с `aria-label` получают роль `img`.
|
|
67
|
+
- **DatePicker**: при открытии календаря фокус переходит на выбранный день, Escape закрывает календарь и возвращает фокус на кнопку, после выбора фокус возвращается в поле; календарь — диалог с подписью; кнопка календаря подписана (`calendarButtonTooltip`, по умолчанию `Choose date`) и сообщает `aria-expanded`; свойства `prevButtonLabel` и `nextButtonLabel` передаются в календарь.
|
|
68
|
+
- **Calendar**: навигация по дням с клавиатуры — стрелки, Home/End, PageUp/PageDown, в сетку дней Tab попадает один раз; дни озвучиваются полной датой, выбранные отмечены `aria-pressed`, сегодняшний — `aria-current="date"`; свойства `prevButtonLabel` и `nextButtonLabel` — подписи стрелок; стрелки в режиме выбора месяца переключают год.
|
|
69
|
+
- **Typography**: компонент `H6`; все компоненты типографики экспортируются из `@via-profit/ui-kit/Typography` (`import { H1, Paragraph, Strong } from ...`), экспорт по умолчанию — по-прежнему `Paragraph`; `SectionTitle` передаёт `ref` и атрибуты заголовка.
|
|
70
|
+
- **Swiper**: свободная прокрутка `snap={false}` — после перетаскивания лента движется по инерции и останавливается между слайдами, следующее перетаскивание продолжается с того же места, с `infinite` ленту можно тянуть без конца; ленту можно подхватить во время анимации — она останавливается под пальцем, а не перескакивает к концу движения. Компонент больше не помечен как черновик.
|
|
71
|
+
- **Swiper**: управление стрелками ←/→ (`keyboardControl`), описанное в документации, но не реализованное; роли и подписи карусели и слайдов для программ чтения с экрана (`slideLabel`); автопрокрутка останавливается, пока фокус внутри свайпера; `children` принимает `null`/`false` и одиночный слайд.
|
|
72
|
+
- **ButtonGroup**: новый компонент `@via-profit/ui-kit/ButtonGroup` — кнопки, объединённые в один блок, с общими `variant`, `color` и `disabled`, вертикальным расположением и `fullWidth`. Может работать как переключатель: выбор одного или нескольких вариантов (`value`, `defaultValue`, `onChange`, `multiple`), выбранные кнопки получают `aria-pressed`.
|
|
73
|
+
- **Accordion**: заголовок доступен с клавиатуры и сообщает программам чтения с экрана, развёрнута ли панель (`aria-expanded`, `aria-controls`, содержимое с `role="region"`); `onOpen` получает новое состояние — `onOpen(isOpen)`.
|
|
74
|
+
- **Checkbox**: новый компонент `@via-profit/ui-kit/Checkbox` — чекбокс с контролируемым и неконтролируемым режимами, промежуточным состоянием `indeterminate`, цветами, положением текста, звёздочкой обязательного поля, текстом ошибки и `overrides`.
|
|
75
|
+
- **Switch**: поле получает `role="switch"`, а при `error` — `aria-invalid`.
|
|
76
|
+
- **Color**: тип `PaletteName` — названия палитр `ColorGenerator`.
|
|
77
|
+
- **Modal**: свойство `closeButtonLabel` у `drawer` — подпись кнопки закрытия для программ чтения с экрана; тип `AnchorVariant` экспортируется из `@via-profit/ui-kit/Modal`.
|
|
78
|
+
- **ClickOutside**: свойство `ignoreElements` — элементы, клики по которым не считаются кликами снаружи.
|
|
79
|
+
- **Menu**: свойство `closeOnAnchorClick`.
|
|
80
|
+
- **Avatar**: аватар с `onClick` получает роль `button` и нажимается клавишами Enter и пробел.
|
|
81
|
+
- **MaskedField**: `onChange` получает вторым аргументом событие `change`; поддерживается `type="tel"`.
|
|
82
|
+
- **Badge**: бейдж с `onClick` получает роль `button` и нажимается клавишами Enter и пробел; свойство `deleteButtonLabel` — подпись кнопки удаления для программ чтения с экрана.
|
|
83
|
+
- **LoadingIndicator**: компоненты `Spinner` (строчный спиннер) и `LoadingOverlay` (слой поверх блока) с понятными именами.
|
|
84
|
+
- **LoadingIndicator**: свойство `size` — диаметр спиннера (число в пикселях или любая длина CSS) вместо масштабирования через `font-size`; свойство `fill` у `Spinner` — отключает растягивание на свободное место родителя. Внешний вид по умолчанию не изменился.
|
|
85
|
+
- **LoadingIndicator**: оба индикатора получают роль `status` и подпись `aria-label="Loading"` (можно заменить своей), программы чтения с экрана сообщают о загрузке.
|
|
86
|
+
- **Selectbox**: свойство `renderValue` — своё содержимое кнопки для выбранного значения, например бейджи при `multiple`.
|
|
87
|
+
- **Badge**: бейдж без `onClick` больше не меняет цвет при наведении — это выглядело как приглашение нажать.
|
|
88
|
+
- **Selectbox**: клавиши ↓ и ↑ на кнопке открывают список, как у стандартного `<select>`.
|
|
89
|
+
- **Menu**: список получает роль `listbox` (и `aria-multiselectable` при `multiple`), `MenuItem` — роль `option` и `aria-selected`.
|
|
90
|
+
|
|
91
|
+
### Изменено
|
|
92
|
+
|
|
93
|
+
- **Table**: компонент больше не помечен как черновик.
|
|
94
|
+
- **DatePicker**: `onChange` получает `null`, когда поле очищено или нажата кнопка сброса календаря без начального значения — тип обработчика `(date: Date | null) => void`. Обработчики, принимающие только `Date`, нужно доработать. Раньше очистить значение из поля было нельзя.
|
|
95
|
+
- **Calendar**: виды (дни, месяцы, годы, недели) переключаются без `Swiper` — показывается только активный вид с короткой анимацией; список лет — обычная прокручиваемая сетка вместо виртуализированного списка. Без `initialView` показывается первый из `views`, а `initialView` теперь учитывается вместе с `views`. В контролируемом режиме календарь показывает `value`, даже если родитель не принял изменение.
|
|
96
|
+
- **Typography**: `H4` — 1.1em (было 1.2em, почти как `H3`), `H5` — 1em и полужирный (был того же размера, что `H4`, и тоньше основного текста).
|
|
97
|
+
- **Table**: убрана перестройка таблицы в блоки на экранах уже 1200px — для широких таблиц используйте контейнер с `overflow-x: auto`. Ширина колонок зависит от содержимого (`table-layout: auto` вместо `fixed`). Линии между строками — нижние границы ячеек, а не `<tr>`. Цвет акцента у заголовков задаёт `TableHeader`, поэтому `TableHeaderCell` с `scope="row"` в теле таблицы выделяется только жирным. Таблица больше не добавляет внешний отступ `margin-bottom`, `TableCaption` выровнен по началу строки.
|
|
98
|
+
- **Swiper**: контейнер больше не ограничен шириной `1200px` и не центрируется — свайпер занимает ширину родителя. Автопрокрутка без `infinite` после последнего слайда возвращается к первому вместо остановки. Слайды вне видимой области получают `inert`. Ключи слайдов сохраняются (раньше заменялись на индексы).
|
|
99
|
+
- **Accordion**: неконтролируемый аккордеон с `onOpen` продолжает сам хранить состояние: `onOpen` больше не заменяет внутреннее переключение. Весь заголовок стал кнопкой вместо `<div>` с маленькой кнопкой-стрелкой: внутренний отступ заголовка перенесён на эту кнопку, а `overrides.Header` получает `headerID` и `contentID`.
|
|
100
|
+
- **Switch**: `ref` указывает на `<input>`, а не на обёртку; тип `overrides.ToggleWrapper` — `RefAttributes<HTMLInputElement>`, `overrides.Container` — `RefAttributes<HTMLLabelElement>`. Неконтролируемый переключатель с `onChange` продолжает сам хранить состояние: `onChange` больше не заменяет внутреннее переключение.
|
|
101
|
+
- **Color**: `getContrastColor()` выбирает чёрный или белый по коэффициенту контраста, а не по порогу яркости 0.5. Раньше для средних по яркости цветов (оранжевый, `#22c7d6`) возвращался белый с контрастом около 2:1 вместо чёрного с контрастом около 10:1.
|
|
102
|
+
- **LoadingIndicator**: **несовместимое изменение** — экспорт по умолчанию модуля `LoadingIndicator` и файла `LoadingIndicator/Spinner` теперь `Spinner` (строчный спиннер), а не слой поверх блока. Импорт `import LoadingIndicator from '@via-profit/ui-kit/LoadingIndicator'` без ошибок начнёт показывать строчный спиннер — замените его на `import { LoadingOverlay } from '@via-profit/ui-kit/LoadingIndicator'`. Подробнее в документации, раздел «Переход с прежних имён».
|
|
103
|
+
- **Autocomplete**: мультивыбор переработан по образцу MUI. Выбранные элементы отображаются метками внутри поля, поле служит только для поиска, после выбора поиск очищается, Backspace в пустом поле удаляет последнюю метку. **Несовместимое изменение**: при `multiple` функция `selectedItemToString` получает один элемент (подпись метки), а не массив.
|
|
104
|
+
- **PhoneField**: построен на `MaskedField` и использует общий с ним механизм форматирования. Публичный API `PhoneField` и `usePhoneUtils` не изменился. `+` в середине номера теперь пропускается, а не обрезает номер.
|
|
105
|
+
- **Menu**: клавиша Tab закрывает меню. Раньше фокус уходил из меню, а оно оставалось открытым.
|
|
106
|
+
- **PhoneField**: номера США форматируются как `+1 (987) 654-3210` вместо `+1 987 654-32-10`.
|
|
107
|
+
- **PhoneField**: `placeholder`, переданный в свойствах, больше не заменяется подсказкой шаблона.
|
|
108
|
+
- **Menu**: клик по анкору больше не вызывает `onRequestClose`. Раньше кнопка, которая открывает и закрывает меню, не могла его закрыть: нажатие сначала закрывало меню, а затем сразу открывало снова. Чтобы клик по анкору снова закрывал меню, передайте `closeOnAnchorClick`.
|
|
109
|
+
|
|
110
|
+
### Устарело
|
|
111
|
+
|
|
112
|
+
- **CountryFlags**: `Uknown` (опечатка в названии) — используйте `Unknown`. **PhoneField**: `PhoneField/UnknownFlag` — используйте `CountryFlags/Unknown`.
|
|
113
|
+
- **LoadingIndicator**: именованные `LoadingIndicator` и `StaticLoadingIndicator` и их типы `LoadingIndicatorProps` и `StaticLoadingIndicatorProps` — используйте `LoadingOverlay` и `Spinner`. Будут удалены в одной из следующих версий.
|
|
114
|
+
|
|
115
|
+
### Удалено
|
|
116
|
+
|
|
117
|
+
- **Autocomplete**: удалены неиспользуемые `Autocomplete2` и `Autocomplete/OverrideMenuList`.
|
|
118
|
+
|
|
119
|
+
### Исправлено
|
|
120
|
+
|
|
121
|
+
- **ThemeProvider**: `isDark` в параметрах `createTheme` был обязательным по типам, хотя по умолчанию равен `false` — `createTheme({ color: … })` не проходил проверку типов.
|
|
122
|
+
- **Modal**: у боковой панели (`variant="drawer"`) были скруглены все четыре угла, включая прилегающие к краю окна, — скругление базового окна не сбрасывалось. Теперь скруглены только углы со стороны страницы: при `anchor="left"` — правые, `right` — левые, `top` — нижние, `bottom` — верхние.
|
|
123
|
+
- **CountryFlags**: генератор флагов записывал список всех флагов в файл `CountryFlags/SwiperOverview`, он попадал в пакет; скрипт `indexes:flags` ссылался на несуществующий файл. **PhoneField**: заглушка неизвестной страны была квадратной, и при определении страны текст в поле сдвигался на полфлага.
|
|
124
|
+
- **DatePicker**: в режиме `readOnly` повторный клик по полю не закрывал календарь; кнопка календаря только открывала его, а не переключала; `minDate`/`maxDate` по умолчанию создавались заново при каждом рендере; в описании `template` был указан несуществующий символ `M`.
|
|
125
|
+
- **Calendar**: тип значения с `range={false}` был диапазоном вместо даты; `initialView` игнорировался, если передан `views`; недоступные дни (вне `minDate`/`maxDate`) не отличались от доступных; у сегодняшнего дня не было видно фокуса с клавиатуры; при `weekDayLabelFormat="narrow"` совпадали ключи дней недели; типы `overrides.EmptyCell`, `WeekRow`, `DayBadge`, `IconPrev`, `IconNext` не совпадали с элементами и не принимали `styled(...)` стандартных компонентов.
|
|
126
|
+
- **Typography**: линия под `SectionTitle` не отображалась; `Del` отображался в React DevTools как `Em`; подсказка об устаревании `Base` указывала на несуществующий путь.
|
|
127
|
+
- **Table**: на экранах уже 1200px таблица разваливалась — заголовки прятались, а подписи к ячейкам не показывались; не работали скругление углов, линии между строками и линия над подвалом (`border-collapse: collapse`); заголовки разрывались посреди слова; заголовки колонок имели роль `rowheader`; тип `ref` у `TableCaption` — `HTMLTableCaptionElement`.
|
|
128
|
+
- **Swiper**: `slidesPerView` попадал атрибутом в DOM; в бесконечном режиме с `slidesPerView > 1` `onSlideChange` сообщал неверный индекс, а справа появлялось пустое место; после нескольких быстрых перелистываний бесконечный свайпер перескакивал на первый или последний слайд; `resume` при уходе указателя снимал паузу, поставленную через `pause()`; после перетаскивания срабатывал клик по ссылке или кнопке в слайде; перетаскивание начиналось правой кнопкой мыши, а картинки перетаскивались браузером; Tab уводил фокус в невидимый слайд и сдвигал ленту; `snap={false}` не работал: лента оставалась смещённой, при следующем перетаскивании прыгала, а `next`/`prev`/`goToIndex` сохраняли смещение; частично видимый слайд был недоступен для клика.
|
|
129
|
+
- **Highlighted**: при пересекающихся подстроках выделялась первая из массива, а не самая длинная (`['star', 'starfish']` выделяло в «Starfish» только «Star»); для совпадений в начале и в конце текста рендерились пустые `<span>`.
|
|
130
|
+
- **Accordion**: группировка соседних аккордеонов не работала в собранном пакете (селекторы по классам emotion), а у одиночного аккордеона верхние углы были квадратными; клик по стрелке вызывал `onOpen` дважды; содержимое выше 90vh обрезалось; свёрнутое содержимое было доступно через Tab; предупреждение об отсутствии `header` с неверным текстом выводилось при каждом рендере.
|
|
131
|
+
- **Switch**: с `defaultChecked` поле `<input>` навсегда оставалось отмеченным, хотя переключатель выглядел выключенным; неконтролируемый переключатель с `onChange` не переключался визуально; `requiredAsterisk={false}` всё равно показывал `*`; ошибка о `checked` без `onChange` выводилась при каждом рендере; у выключенного переключателя не было видно подсветки фокуса и наведения в светлой теме; эффект наведения и фокуса не работал в собранном пакете (селекторы по классам emotion); атрибуты `checked` и `disabled` попадали в DOM у `<span>` и `<label>`; неверный цвет давал белый ползунок вместо цвета акцента.
|
|
132
|
+
- **Button**: при смене `variant` кнопка создавалась заново и теряла фокус (например, кнопка-переключатель после нажатия с клавиатуры); предупреждение об `iconOnly` вместе со `startIcon`/`endIcon` выводилось при каждом рендере.
|
|
133
|
+
- **Surface**: при `noPadding` содержимое (например, изображение) выходило за скруглённые углы поверхности; предупреждение о `subheader` без `header` выводилось в консоль при каждом рендере.
|
|
134
|
+
- **ThemeProvider**: `createTheme` добавлял в каждую тему отладочный цвет `theme.color.test` (красный).
|
|
135
|
+
- **Color**: в TypeScript нельзя было передать палитру в `Color.fromUuid(uuid, palette)` — тип параметра был `undefined`; устаревший `Color.getHextByWebColor()` возвращал HSL вместо HEX.
|
|
136
|
+
- **Modal**: содержимое `dialog` и `drawer` создавалось заново при каждом рендере родителя — поле ввода в диалоге теряло фокус и значение после первого же символа, а после закрытия вложенного окна фокус уходил со страницы.
|
|
137
|
+
- **Modal**: окна не имели корректной роли для программ чтения с экрана (`role="modal-confirmbox"` и `role="modal-MessageBox"` не существуют, у `dialog` и `drawer` роли не было); теперь `dialog` или `alertdialog` с `aria-modal`, заголовок `drawer` связан с окном через `aria-labelledby`.
|
|
138
|
+
- **Modal**: у кнопки закрытия `drawer` всегда был отступ, будто рядом есть `toolbar`; два окна, открытые в одну миллисекунду, получали одинаковые идентификаторы.
|
|
139
|
+
- **Menu**, **Selectbox**, **Autocomplete**: значения `0`, `''` и `false` считались пустыми — их нельзя было выбрать, а поле показывало «не выбрано».
|
|
140
|
+
- **MaskedField**: курсор смещался вправо при правке в середине значения, если в маске есть пробелы; при вводе сверх длины маски `caret` указывал за конец текста; для пустого ввода `formatParsedInput` возвращал лишнее поле `charIndex`.
|
|
141
|
+
- **MaskedField**: маска `ogrnip` в `templates` содержала 13 цифр вместо 15.
|
|
142
|
+
- **PhoneField**: `caret` в результате `usePhoneUtils().formatParsedInput` и `parseAndFormat` мог указывать за конец текста.
|
|
143
|
+
- **PhoneField**: в `onChange` передавалась копия события без методов (`preventDefault` и др.) и без свойств поля ввода (`name`, `id` и др.); теперь передаётся исходное событие, а `event.currentTarget.value` содержит отформатированный текст.
|
|
144
|
+
- **PhoneField**: при вводе `+7`, `+79`, `+791` страна не определялась и флаг пропадал; `+76` и `+77` определялись как Казахстан только с четвёртой цифры.
|
|
145
|
+
- **PhoneField**: номера Японии без `+` (`81…`) определялись как российские с `8`; мобильные номера Японии (10 цифр) обрезались до 9 цифр.
|
|
146
|
+
- **PhoneField**: номера Израиля без `+` не определялись; стационарные номера Израиля (8 цифр) не считались полными.
|
|
147
|
+
- **PhoneField**: для шаблона Казахстана `+997` `callingCode` был `'7'`, из-за чего `number` и `combined` были неверными.
|
|
148
|
+
- **Menu**: мышь и клавиатура подсвечивали разные элементы: после наведения курсора стрелки начинали с начала списка, Enter не выбирал элемент под курсором, а прокрутка списка стрелками переносила подсветку на элемент, оказавшийся под неподвижным курсором.
|
|
149
|
+
- **Menu**: после выбора элемента с клавиатуры или закрытия по Esc фокус терялся; теперь он возвращается на анкор.
|
|
150
|
+
- **Menu**: меню, открытое сразу при монтировании, не прокручивалось к выбранному элементу.
|
|
151
|
+
- **Menu**: после изменения `items` подсвечивался элемент с тем же индексом, то есть случайный элемент нового списка; теперь подсветка следует за тем же элементом или снимается. В `Autocomplete` из-за этого после ввода текста был подсвечен случайный вариант, и первая стрелка вниз пропускала первый элемент.
|
|
152
|
+
- **Autocomplete**: подсказки браузера (ранее введённые значения) отображались поверх списка; теперь в поле по умолчанию `autoComplete="off"`.
|
|
153
|
+
- **Autocomplete**: клик по варианту мышью уводил фокус из поля в список, и продолжить ввод было нельзя.
|
|
154
|
+
- **Menu**: после изменения `items` прокрутка списка оставалась прежней, и отфильтрованный список мог открыться с середины.
|
|
155
|
+
- **Autocomplete**: `clearOnBlur` не срабатывал при клике мимо поля, если список был закрыт (нет подходящих вариантов или закрыт по Esc), и в поле оставался недописанный текст.
|
|
156
|
+
- **PhoneField**: явно переданный `startIcon={undefined}` (например, из `Autocomplete`) скрывал флаг страны.
|
|
157
|
+
- **Badge**: при смене `variant` бейдж создавался заново и терял фокус (например, фильтр-переключатель после нажатия); нажатие на кнопку удаления вызывало ещё и `onClick` бейджа; атрибут `color` попадал в DOM; некликабельный бейдж получал `tabindex="-1"`.
|
|
158
|
+
- **LoadingIndicator**: строчный индикатор содержал `<div>` внутри `<span>` — некорректная разметка, в том числе внутри кнопки.
|
|
159
|
+
- **TextField**, **TextArea**: недоступное поле (`disabled`) выглядело так же, как обычное.
|
|
160
|
+
- **TextField**, **TextArea**, **Button**: поля ввода и кнопки не наследовали шрифт страницы — текст в `TextArea` был моноширинным, в полях и кнопках использовался шрифт браузера по умолчанию.
|
|
161
|
+
- **Selectbox**: при `isLoading` индикатор загрузки отображался не в кнопке, а поверх ближайшего позиционированного родителя (например, всей страницы).
|
|
162
|
+
- **Selectbox**: тип `overrides.Icon` не позволял передать собственный компонент без ошибки TypeScript.
|
|
163
|
+
- **Avatar**: свойство `alt` не передавалось изображению; `color` и `size` попадали в DOM как атрибуты; некликабельный аватар получал `tabindex="-1"`; без изображения PNG или JPEG `<img>` оставался с пустым `src`.
|
|
164
|
+
|
|
165
|
+
## 0.3.0 — 2026-09-24
|
|
166
|
+
|
|
7
167
|
### Изменено
|
|
8
168
|
|
|
9
169
|
- **Calendar**: номера недель при начале недели с понедельника считаются по ISO 8601; при другом первом дне недели первой считается неделя, содержащая 1 января.
|
package/Calendar/CalendarCell.js
CHANGED
|
@@ -28,11 +28,18 @@ const Btn = (0, styled_1.default)(Button_1.default) `
|
|
|
28
28
|
padding: 1em;
|
|
29
29
|
margin: 0;
|
|
30
30
|
min-width: 0;
|
|
31
|
-
outline: none;
|
|
32
31
|
position: relative;
|
|
33
|
-
color: ${({ theme, $isSelected }) =>
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
color: ${({ theme, $isSelected, disabled }) => {
|
|
33
|
+
switch (true) {
|
|
34
|
+
case $isSelected:
|
|
35
|
+
return theme.color.accentPrimaryContrast.toString();
|
|
36
|
+
// The days out of minDate/maxDate are dimmed
|
|
37
|
+
case disabled:
|
|
38
|
+
return theme.color.textPrimary.alpha(0.3).toString();
|
|
39
|
+
default:
|
|
40
|
+
return theme.color.textPrimary.toString();
|
|
41
|
+
}
|
|
42
|
+
}};
|
|
36
43
|
border-radius: ${({ theme }) => theme.shape.radiusFactor * 3}em;
|
|
37
44
|
${({ $fill, theme, $isSelected }) => $fill &&
|
|
38
45
|
!$isSelected &&
|
|
@@ -93,6 +93,17 @@ export type CalendarProps<IsRangeValue extends boolean | undefined = undefined>
|
|
|
93
93
|
* Label for the Today button. If label passed, then button will be rendered
|
|
94
94
|
*/
|
|
95
95
|
readonly todayButtonLabel?: string;
|
|
96
|
+
/**
|
|
97
|
+
* The label of the «previous» button for screen readers and the tooltip.
|
|
98
|
+
* The button switches the month in the days view and the year in the months view\
|
|
99
|
+
* **Default:** `Previous`
|
|
100
|
+
*/
|
|
101
|
+
readonly prevButtonLabel?: string;
|
|
102
|
+
/**
|
|
103
|
+
* The label of the «next» button for screen readers and the tooltip\
|
|
104
|
+
* **Default:** `Next`
|
|
105
|
+
*/
|
|
106
|
+
readonly nextButtonLabel?: string;
|
|
96
107
|
/**
|
|
97
108
|
* Heading
|
|
98
109
|
*/
|
|
@@ -144,7 +155,7 @@ export interface CalendarOverrides {
|
|
|
144
155
|
/**
|
|
145
156
|
* Empty cell element
|
|
146
157
|
*/
|
|
147
|
-
readonly EmptyCell?: React.ComponentType<CalendarEmptyCellProps & React.RefAttributes<
|
|
158
|
+
readonly EmptyCell?: React.ComponentType<CalendarEmptyCellProps & React.RefAttributes<HTMLSpanElement>>;
|
|
148
159
|
/**
|
|
149
160
|
* Common container element
|
|
150
161
|
*/
|
|
@@ -156,7 +167,7 @@ export interface CalendarOverrides {
|
|
|
156
167
|
/**
|
|
157
168
|
* Week row container element
|
|
158
169
|
*/
|
|
159
|
-
readonly WeekRow?: React.ComponentType<CalendarWeekRowProps & React.RefAttributes<
|
|
170
|
+
readonly WeekRow?: React.ComponentType<CalendarWeekRowProps & React.RefAttributes<HTMLSpanElement>>;
|
|
160
171
|
/**
|
|
161
172
|
* Days wrapper element
|
|
162
173
|
*/
|
|
@@ -200,11 +211,11 @@ export interface CalendarOverrides {
|
|
|
200
211
|
/**
|
|
201
212
|
* Prev icon element in prev month button
|
|
202
213
|
*/
|
|
203
|
-
readonly IconPrev?: React.ComponentType<CalendarIconPrevProps & React.RefAttributes<
|
|
214
|
+
readonly IconPrev?: React.ComponentType<CalendarIconPrevProps & React.RefAttributes<SVGSVGElement>>;
|
|
204
215
|
/**
|
|
205
216
|
* Next icon element in next month button
|
|
206
217
|
*/
|
|
207
|
-
readonly IconNext?: React.ComponentType<CalendarIconNextProps & React.RefAttributes<
|
|
218
|
+
readonly IconNext?: React.ComponentType<CalendarIconNextProps & React.RefAttributes<SVGSVGElement>>;
|
|
208
219
|
/**
|
|
209
220
|
* Weeks bar element
|
|
210
221
|
*/
|
|
@@ -54,13 +54,36 @@ const CalendarIconPrev_1 = __importDefault(require("./CalendarIconPrev"));
|
|
|
54
54
|
const CalendarIconNext_1 = __importDefault(require("./CalendarIconNext"));
|
|
55
55
|
const CalendarWeekDaysBar_1 = __importDefault(require("./CalendarWeekDaysBar"));
|
|
56
56
|
const use_calendar_1 = require("./use-calendar");
|
|
57
|
-
const Swiper_1 = __importStar(require("../Swiper"));
|
|
58
57
|
const styled_1 = __importDefault(require("@emotion/styled"));
|
|
58
|
+
const react_2 = require("@emotion/react");
|
|
59
|
+
const useThemeProps_1 = __importDefault(require("../ThemeProvider/useThemeProps"));
|
|
59
60
|
__exportStar(require("./use-calendar"), exports);
|
|
60
61
|
__exportStar(require("./CalendarWeekDaysBar"), exports);
|
|
61
|
-
const
|
|
62
|
-
|
|
62
|
+
const viewAppear = (0, react_2.keyframes) `
|
|
63
|
+
from {
|
|
64
|
+
opacity: 0;
|
|
65
|
+
transform: scale(0.97);
|
|
66
|
+
}
|
|
67
|
+
to {
|
|
68
|
+
opacity: 1;
|
|
69
|
+
transform: none;
|
|
70
|
+
}
|
|
63
71
|
`;
|
|
72
|
+
/**
|
|
73
|
+
* Only the active view is rendered: the hidden views are not focusable and not announced
|
|
74
|
+
*/
|
|
75
|
+
const ViewContainer = styled_1.default.div `
|
|
76
|
+
flex: 1;
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
min-height: 0;
|
|
80
|
+
animation: ${viewAppear} 0.2s ease-out;
|
|
81
|
+
|
|
82
|
+
@media (prefers-reduced-motion: reduce) {
|
|
83
|
+
animation: none;
|
|
84
|
+
}
|
|
85
|
+
`;
|
|
86
|
+
const dateKey = (date) => `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}`;
|
|
64
87
|
const isRangeValue = (value) => {
|
|
65
88
|
if (value instanceof Array) {
|
|
66
89
|
return value.every(v => v instanceof Date || v === null);
|
|
@@ -80,21 +103,12 @@ const computeViews = (inputViews, range) => {
|
|
|
80
103
|
const computeView = (inputParams) => {
|
|
81
104
|
var _a;
|
|
82
105
|
const { inputView, inputViews, inputInitialView } = inputParams;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if (typeof inputView === 'undefined' && inputViews) {
|
|
87
|
-
return inputViews[0];
|
|
88
|
-
}
|
|
89
|
-
if (inputViews && typeof inputView === 'string') {
|
|
90
|
-
if (!inputViews.includes(inputView)) {
|
|
91
|
-
throw new Error('Property views must be contained property initialView');
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
if (typeof inputView === 'string') {
|
|
95
|
-
return inputView;
|
|
106
|
+
const requested = inputView !== null && inputView !== void 0 ? inputView : inputInitialView;
|
|
107
|
+
if (requested && inputViews && !inputViews.includes(requested)) {
|
|
108
|
+
throw new Error(`The view «${requested}» must be one of the \`views\`: ${inputViews.join(', ')}`);
|
|
96
109
|
}
|
|
97
|
-
|
|
110
|
+
// The requested view wins over the first of the views
|
|
111
|
+
return (_a = requested !== null && requested !== void 0 ? requested : inputViews === null || inputViews === void 0 ? void 0 : inputViews[0]) !== null && _a !== void 0 ? _a : 'days';
|
|
98
112
|
};
|
|
99
113
|
const computeCalendarDate = (params) => {
|
|
100
114
|
const { inputValue, defaultValue } = params;
|
|
@@ -135,7 +149,7 @@ const computeCalendarDate = (params) => {
|
|
|
135
149
|
};
|
|
136
150
|
const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
137
151
|
var _a;
|
|
138
|
-
const { minDate: inputMinDate, maxDate: inputMaxDate, weekStartDay = 'monday', locale = 'ru-RU', displayLeadingZero = false, onChange, badges = [], markToday = true, weekDayLabelFormat = 'short', accentColor = 'primary', defaultValue, value: inputValue, initialView: inputInitialView, view: inputView, views: inputViews, resetButtonLabel, todayButtonLabel, heading, subheading, footer, overrides, range = false, } = props;
|
|
152
|
+
const { minDate: inputMinDate, maxDate: inputMaxDate, weekStartDay = 'monday', locale = 'ru-RU', displayLeadingZero = false, onChange, badges = [], markToday = true, weekDayLabelFormat = 'short', accentColor = 'primary', defaultValue, value: inputValue, initialView: inputInitialView, view: inputView, views: inputViews, resetButtonLabel, todayButtonLabel, heading, subheading, footer, overrides, range = false, prevButtonLabel = 'Previous', nextButtonLabel = 'Next', } = (0, useThemeProps_1.default)('Calendar', props);
|
|
139
153
|
/**
|
|
140
154
|
* Validations
|
|
141
155
|
*/
|
|
@@ -202,7 +216,7 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
202
216
|
WeekRowButton: (overrides === null || overrides === void 0 ? void 0 : overrides.WeekRowButton) || CalendarWeekRowButton_1.default,
|
|
203
217
|
WeekDayWeekNumber: (overrides === null || overrides === void 0 ? void 0 : overrides.WeekDayWeekNumber) || CalendarWeekDayWeekNumber_1.default,
|
|
204
218
|
}), [overrides]);
|
|
205
|
-
const
|
|
219
|
+
const dateContainerRef = react_1.default.useRef(null);
|
|
206
220
|
/**
|
|
207
221
|
* Inside date value
|
|
208
222
|
*/
|
|
@@ -214,7 +228,16 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
214
228
|
* Selected value
|
|
215
229
|
*/
|
|
216
230
|
const inputValueRef = react_1.default.useRef(inputValue);
|
|
217
|
-
const [
|
|
231
|
+
const [internalValue, setValue] = react_1.default.useState((_a = inputValue !== null && inputValue !== void 0 ? inputValue : defaultValue) !== null && _a !== void 0 ? _a : null);
|
|
232
|
+
// Controlled: the value is always the `value` property, even if the parent did not accept the change
|
|
233
|
+
const value = typeof inputValue !== 'undefined'
|
|
234
|
+
? inputValue
|
|
235
|
+
: internalValue;
|
|
236
|
+
/**
|
|
237
|
+
* The day with the keyboard focus in the days view (roving tabindex)
|
|
238
|
+
*/
|
|
239
|
+
const [focusedDate, setFocusedDate] = react_1.default.useState(null);
|
|
240
|
+
const shouldMoveFocus = react_1.default.useRef(false);
|
|
218
241
|
/**
|
|
219
242
|
* Current view mode
|
|
220
243
|
*/
|
|
@@ -229,16 +252,11 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
229
252
|
const [views, setComputedViews] = react_1.default.useState(() => computeViews(inputViews, range));
|
|
230
253
|
const setViews = react_1.default.useCallback((variants) => setComputedViews(variants), []);
|
|
231
254
|
const selectView = react_1.default.useCallback((view) => {
|
|
232
|
-
var _a;
|
|
233
255
|
const nextViews = views.includes(view) ? views : [...views, view];
|
|
234
256
|
if (nextViews !== views) {
|
|
235
257
|
setViews(nextViews);
|
|
236
258
|
}
|
|
237
259
|
setView(view);
|
|
238
|
-
const index = nextViews.findIndex(v => v === view);
|
|
239
|
-
if (index > -1) {
|
|
240
|
-
(_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.goToIndex(index);
|
|
241
|
-
}
|
|
242
260
|
}, [setViews, views]);
|
|
243
261
|
/**
|
|
244
262
|
* Controlled `view` property was changed
|
|
@@ -330,6 +348,7 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
330
348
|
}, [calendarDate, view]);
|
|
331
349
|
const handleCellDateClick = react_1.default.useCallback((selectedDate) => () => {
|
|
332
350
|
var _a;
|
|
351
|
+
setFocusedDate(selectedDate);
|
|
333
352
|
const nextView = getNextAvailableView();
|
|
334
353
|
if (nextView) {
|
|
335
354
|
setView(nextView);
|
|
@@ -373,7 +392,7 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
373
392
|
setValue(selectedValue);
|
|
374
393
|
}
|
|
375
394
|
}
|
|
376
|
-
}, [
|
|
395
|
+
}, [getNextAvailableView, onChange, selectView, range, inputValue]);
|
|
377
396
|
/**
|
|
378
397
|
* Handle of click on month item
|
|
379
398
|
*/
|
|
@@ -449,7 +468,97 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
449
468
|
const weeks = react_1.default.useMemo(() => getWeeks(calendarDate), [calendarDate, getWeeks]);
|
|
450
469
|
const yearsRange = react_1.default.useMemo(() => getYearsRange(minDate, maxDate), [minDate, maxDate, getYearsRange]);
|
|
451
470
|
const monthsRange = react_1.default.useMemo(() => getMonthsRange(minDate, maxDate, calendarDate.getFullYear()), [minDate, maxDate, getMonthsRange, calendarDate]);
|
|
452
|
-
const
|
|
471
|
+
const minDay = react_1.default.useMemo(() => new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()), [minDate]);
|
|
472
|
+
const maxDay = react_1.default.useMemo(() => new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate()), [maxDate]);
|
|
473
|
+
const dayLabelFormatter = react_1.default.useMemo(() => typeof Intl !== 'undefined'
|
|
474
|
+
? new Intl.DateTimeFormat(locale, {
|
|
475
|
+
weekday: 'long',
|
|
476
|
+
day: 'numeric',
|
|
477
|
+
month: 'long',
|
|
478
|
+
year: 'numeric',
|
|
479
|
+
})
|
|
480
|
+
: null, [locale]);
|
|
481
|
+
/**
|
|
482
|
+
* The only day in the tab order: the focused, the selected, today or the first available one
|
|
483
|
+
*/
|
|
484
|
+
const tabbableDateKey = react_1.default.useMemo(() => {
|
|
485
|
+
const month = calendarDate.getMonth();
|
|
486
|
+
const days = weeks
|
|
487
|
+
.flatMap(week => week.days)
|
|
488
|
+
.filter(day => day.date.getMonth() === month && !day.isDisabled);
|
|
489
|
+
const selected = isRangeValue(value) ? value === null || value === void 0 ? void 0 : value[0] : isNotRangeValue(value) ? value : null;
|
|
490
|
+
const candidates = [focusedDate, selected, new Date()];
|
|
491
|
+
const found = candidates
|
|
492
|
+
.map(candidate => candidate && days.find(day => isSameDay(day.date, candidate)))
|
|
493
|
+
.find(Boolean);
|
|
494
|
+
return found ? dateKey(found.date) : days[0] ? dateKey(days[0].date) : null;
|
|
495
|
+
}, [calendarDate, weeks, value, focusedDate, isSameDay]);
|
|
496
|
+
/**
|
|
497
|
+
* Arrows move by a day and a week, Home/End — to the start/end of the week,
|
|
498
|
+
* PageUp/PageDown — by a month. Crossing the month border switches the month
|
|
499
|
+
*/
|
|
500
|
+
const handleDaysKeyDown = react_1.default.useCallback((event) => {
|
|
501
|
+
var _a;
|
|
502
|
+
const key = (_a = event.target.closest('[data-date]')) === null || _a === void 0 ? void 0 : _a.dataset.date;
|
|
503
|
+
if (!key)
|
|
504
|
+
return;
|
|
505
|
+
const [y, m, d] = key.split('-').map(Number);
|
|
506
|
+
const current = new Date(y, m, d);
|
|
507
|
+
const weekDay = (current.getDay() -
|
|
508
|
+
['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'].indexOf(weekStartDay) +
|
|
509
|
+
7) %
|
|
510
|
+
7;
|
|
511
|
+
let target;
|
|
512
|
+
switch (event.key) {
|
|
513
|
+
case 'ArrowLeft':
|
|
514
|
+
target = new Date(y, m, d - 1);
|
|
515
|
+
break;
|
|
516
|
+
case 'ArrowRight':
|
|
517
|
+
target = new Date(y, m, d + 1);
|
|
518
|
+
break;
|
|
519
|
+
case 'ArrowUp':
|
|
520
|
+
target = new Date(y, m, d - 7);
|
|
521
|
+
break;
|
|
522
|
+
case 'ArrowDown':
|
|
523
|
+
target = new Date(y, m, d + 7);
|
|
524
|
+
break;
|
|
525
|
+
case 'Home':
|
|
526
|
+
target = new Date(y, m, d - weekDay);
|
|
527
|
+
break;
|
|
528
|
+
case 'End':
|
|
529
|
+
target = new Date(y, m, d + 6 - weekDay);
|
|
530
|
+
break;
|
|
531
|
+
case 'PageUp':
|
|
532
|
+
target = new Date(y, m - 1, Math.min(d, new Date(y, m, 0).getDate()));
|
|
533
|
+
break;
|
|
534
|
+
case 'PageDown':
|
|
535
|
+
target = new Date(y, m + 1, Math.min(d, new Date(y, m + 2, 0).getDate()));
|
|
536
|
+
break;
|
|
537
|
+
default:
|
|
538
|
+
return;
|
|
539
|
+
}
|
|
540
|
+
event.preventDefault();
|
|
541
|
+
// Stay inside minDate/maxDate
|
|
542
|
+
if (target.getTime() < minDay.getTime())
|
|
543
|
+
target = minDay;
|
|
544
|
+
if (target.getTime() > maxDay.getTime())
|
|
545
|
+
target = maxDay;
|
|
546
|
+
setFocusedDate(target);
|
|
547
|
+
shouldMoveFocus.current = true;
|
|
548
|
+
if (target.getMonth() !== calendarDate.getMonth() ||
|
|
549
|
+
target.getFullYear() !== calendarDate.getFullYear()) {
|
|
550
|
+
setCalendarDate(new Date(target.getFullYear(), target.getMonth(), 1));
|
|
551
|
+
}
|
|
552
|
+
}, [weekStartDay, minDay, maxDay, calendarDate]);
|
|
553
|
+
// Move the DOM focus after the keyboard navigation has rendered the new day
|
|
554
|
+
react_1.default.useEffect(() => {
|
|
555
|
+
var _a, _b;
|
|
556
|
+
if (shouldMoveFocus.current && focusedDate) {
|
|
557
|
+
shouldMoveFocus.current = false;
|
|
558
|
+
(_b = (_a = dateContainerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-date="${dateKey(focusedDate)}"]`)) === null || _b === void 0 ? void 0 : _b.focus();
|
|
559
|
+
}
|
|
560
|
+
}, [focusedDate, calendarDate]);
|
|
561
|
+
const renderViewDays = react_1.default.useCallback(() => (react_1.default.createElement(overridesMap.DateContainer, { ref: dateContainerRef, onKeyDown: handleDaysKeyDown }, weeks.map(week => (react_1.default.createElement(overridesMap.WeekRow, { key: week.weekNumber }, week.days.map(day => {
|
|
453
562
|
if (day.date.getMonth() === calendarDate.getMonth()) {
|
|
454
563
|
const badge = badges.find(b => isSameDay(b.date, day.date));
|
|
455
564
|
let fill = false;
|
|
@@ -465,26 +574,30 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
465
574
|
else if (isNotRangeValue(value)) {
|
|
466
575
|
isSelected = Boolean(value && isSameDay(value, day.date));
|
|
467
576
|
}
|
|
468
|
-
|
|
577
|
+
const key = dateKey(day.date);
|
|
578
|
+
return (react_1.default.createElement(overridesMap.Cell, { key: day.date.getTime(), "data-date": key, tabIndex: key === tabbableDateKey ? 0 : -1, "aria-label": dayLabelFormatter === null || dayLabelFormatter === void 0 ? void 0 : dayLabelFormatter.format(day.date), "aria-pressed": isSelected || fill, "aria-current": day.isToday ? 'date' : undefined, isToday: markToday && day.isToday, isDisabled: day.isDisabled, accentColor: accentColor, isSelected: isSelected, fill: fill, onClick: handleCellDateClick(day.date) },
|
|
469
579
|
getDayLabel(day.date),
|
|
470
580
|
badge && (react_1.default.createElement(overridesMap.DayBadge, { badgeContent: badge.badgeContent, isToday: day.isToday, accentColor: badge.accentColor }))));
|
|
471
581
|
}
|
|
472
|
-
return (react_1.default.createElement(overridesMap.EmptyCell, { key: day.date.getTime() }, getDayLabel(day.date)));
|
|
582
|
+
return (react_1.default.createElement(overridesMap.EmptyCell, { key: day.date.getTime(), "aria-hidden": true }, getDayLabel(day.date)));
|
|
473
583
|
})))))), [
|
|
474
584
|
accentColor,
|
|
475
585
|
badges,
|
|
476
586
|
calendarDate,
|
|
587
|
+
dayLabelFormatter,
|
|
477
588
|
getDayLabel,
|
|
478
|
-
getWeeks,
|
|
479
589
|
handleCellDateClick,
|
|
590
|
+
handleDaysKeyDown,
|
|
480
591
|
isSameDay,
|
|
481
592
|
markToday,
|
|
482
593
|
overridesMap,
|
|
594
|
+
tabbableDateKey,
|
|
483
595
|
value,
|
|
596
|
+
weeks,
|
|
484
597
|
]);
|
|
485
598
|
const renderViewMonths = react_1.default.useCallback(() => (react_1.default.createElement(overridesMap.MonthsSelector, null, monthsRange.map(monthIndex => {
|
|
486
599
|
const isSelected = calendarDate.getMonth() === monthIndex;
|
|
487
|
-
return (react_1.default.createElement(overridesMap.MonthCell, { key: monthIndex, accentColor: accentColor, isSelected: isSelected, onClick: handleMonthSelected(monthIndex) }, getMonthLabel(new Date(calendarDate.getFullYear(), monthIndex, 1, 0, 0, 0, 0))));
|
|
600
|
+
return (react_1.default.createElement(overridesMap.MonthCell, { key: monthIndex, accentColor: accentColor, isSelected: isSelected, "aria-pressed": isSelected, onClick: handleMonthSelected(monthIndex) }, getMonthLabel(new Date(calendarDate.getFullYear(), monthIndex, 1, 0, 0, 0, 0))));
|
|
488
601
|
}))), [accentColor, calendarDate, getMonthLabel, handleMonthSelected, monthsRange, overridesMap]);
|
|
489
602
|
const renderViewYears = react_1.default.useCallback(() => (react_1.default.createElement(overridesMap.YearsSelector, { accentColor: accentColor, date: calendarDate, onChange: y => handleYearSelected(y)(), years: yearsRange, locale: locale, minDate: minDate, maxDate: maxDate })), [
|
|
490
603
|
accentColor,
|
|
@@ -528,7 +641,6 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
528
641
|
overridesMap,
|
|
529
642
|
value,
|
|
530
643
|
]);
|
|
531
|
-
const initialIndex = react_1.default.useMemo(() => views.findIndex(v => v === view), [views, view]);
|
|
532
644
|
const getActiveView = react_1.default.useCallback(() => view, [view]);
|
|
533
645
|
const getCalendarDate = react_1.default.useCallback(() => calendarDate, [calendarDate]);
|
|
534
646
|
/**
|
|
@@ -548,7 +660,7 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
548
660
|
typeof heading !== 'undefined' && react_1.default.createElement(overridesMap.Heading, null, heading),
|
|
549
661
|
typeof subheading !== 'undefined' && (react_1.default.createElement(overridesMap.Subheading, null, subheading)),
|
|
550
662
|
react_1.default.createElement(overridesMap.Toolbar, null,
|
|
551
|
-
react_1.default.createElement(overridesMap.ControlButton, { iconOnly: true, onClick: handlePrevNextClick('prev'), disabled:
|
|
663
|
+
react_1.default.createElement(overridesMap.ControlButton, { iconOnly: true, onClick: handlePrevNextClick('prev'), disabled: view === 'years', "aria-label": prevButtonLabel, title: prevButtonLabel },
|
|
552
664
|
react_1.default.createElement(overridesMap.IconPrev, null)),
|
|
553
665
|
react_1.default.createElement(overridesMap.ControlButton, { disabled: !views.includes('months'), onClick: () => {
|
|
554
666
|
if (view === 'months' && views.includes('days')) {
|
|
@@ -566,31 +678,15 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
566
678
|
selectView('years');
|
|
567
679
|
}
|
|
568
680
|
} }, getYearLabel(calendarDate)),
|
|
569
|
-
react_1.default.createElement(overridesMap.ControlButton, { iconOnly: true, onClick: handlePrevNextClick('next'), disabled:
|
|
681
|
+
react_1.default.createElement(overridesMap.ControlButton, { iconOnly: true, onClick: handlePrevNextClick('next'), disabled: view === 'years', "aria-label": nextButtonLabel, title: nextButtonLabel },
|
|
570
682
|
react_1.default.createElement(overridesMap.IconNext, null)))),
|
|
571
683
|
view === 'days' && (react_1.default.createElement(overridesMap.WeekDaysBar, { locale: locale, week: weeks[0], format: weekDayLabelFormat || 'short' })),
|
|
572
684
|
react_1.default.createElement(overridesMap.Body, null,
|
|
573
|
-
react_1.default.createElement(
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
break;
|
|
579
|
-
case 'weeks':
|
|
580
|
-
renderedView = renderViewWeeks();
|
|
581
|
-
break;
|
|
582
|
-
case 'months':
|
|
583
|
-
renderedView = renderViewMonths();
|
|
584
|
-
break;
|
|
585
|
-
case 'years':
|
|
586
|
-
renderedView = renderViewYears();
|
|
587
|
-
break;
|
|
588
|
-
default:
|
|
589
|
-
renderedView = null;
|
|
590
|
-
break;
|
|
591
|
-
}
|
|
592
|
-
return react_1.default.createElement(Swiper_1.SwiperSlide, { key: viewName }, renderedView);
|
|
593
|
-
}))),
|
|
685
|
+
react_1.default.createElement(ViewContainer, { key: view },
|
|
686
|
+
view === 'days' && renderViewDays(),
|
|
687
|
+
view === 'weeks' && renderViewWeeks(),
|
|
688
|
+
view === 'months' && renderViewMonths(),
|
|
689
|
+
view === 'years' && renderViewYears())),
|
|
594
690
|
(typeof resetButtonLabel !== 'undefined' ||
|
|
595
691
|
typeof todayButtonLabel !== 'undefined' ||
|
|
596
692
|
typeof footer !== 'undefined') && (react_1.default.createElement(overridesMap.Footer, null,
|
|
@@ -4,5 +4,5 @@ export interface CalendarDayBadgeProps extends React.HTMLAttributes<HTMLSpanElem
|
|
|
4
4
|
readonly isToday: boolean;
|
|
5
5
|
readonly badgeContent: React.ReactNode;
|
|
6
6
|
}
|
|
7
|
-
declare const _default: React.ForwardRefExoticComponent<CalendarDayBadgeProps & React.RefAttributes<
|
|
7
|
+
declare const _default: React.ForwardRefExoticComponent<CalendarDayBadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
8
8
|
export default _default;
|