@via-profit/ui-kit 0.3.0 → 0.4.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 +11 -11
- package/Accordion/AccordionContent.js +16 -7
- package/Accordion/AccordionHeader.d.ts +22 -0
- package/Accordion/AccordionHeader.js +35 -18
- package/Accordion/Chevron.js +3 -3
- package/Accordion/index.d.ts +12 -8
- package/Accordion/index.js +21 -6
- 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 +9 -1
- package/Avatar/AvatarPicture.js +4 -3
- package/Avatar/index.js +10 -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 +125 -0
- package/Badge/index.d.ts +2 -2
- package/Badge/index.js +3 -20
- package/Button/ButtonBase.js +8 -4
- package/Button/ButtonContainer.js +2 -0
- 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 +10 -0
- package/Button/ButtonStyled.js +205 -0
- package/Button/index.d.ts +5 -5
- package/Button/index.js +3 -24
- 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 +122 -0
- package/Calendar/CalendarCell.js +11 -4
- package/Calendar/CalendarComponent.d.ts +15 -4
- package/Calendar/CalendarComponent.js +150 -55
- package/Calendar/CalendarDayBadge.d.ts +1 -1
- package/Calendar/CalendarMonthCell.js +1 -11
- 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/{Autocomplete2/Autocomplete2TextField.js → Checkbox/CheckboxAsterisk.js} +24 -10
- package/Checkbox/CheckboxBox.d.ts +22 -0
- package/Checkbox/CheckboxBox.js +88 -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 +71 -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/CountryFlags/AC.js +5 -1
- package/CountryFlags/AD.js +5 -1
- package/CountryFlags/AE.js +5 -1
- package/CountryFlags/AF.js +5 -1
- package/CountryFlags/AG.js +5 -1
- package/CountryFlags/AI.js +5 -1
- package/CountryFlags/AL.js +5 -1
- package/CountryFlags/AM.js +5 -1
- package/CountryFlags/AO.js +5 -1
- package/CountryFlags/AQ.js +5 -1
- package/CountryFlags/AR.js +5 -1
- package/CountryFlags/AS.js +5 -1
- package/CountryFlags/AT.js +5 -1
- package/CountryFlags/AU.js +5 -1
- package/CountryFlags/AW.js +5 -1
- package/CountryFlags/AX.js +5 -1
- package/CountryFlags/AZ.js +5 -1
- package/CountryFlags/BA.js +5 -1
- package/CountryFlags/BB.js +5 -1
- package/CountryFlags/BD.js +5 -1
- package/CountryFlags/BE.js +5 -1
- package/CountryFlags/BF.js +5 -1
- package/CountryFlags/BG.js +5 -1
- package/CountryFlags/BH.js +5 -1
- package/CountryFlags/BI.js +5 -1
- package/CountryFlags/BJ.js +5 -1
- package/CountryFlags/BL.js +5 -1
- package/CountryFlags/BM.js +5 -1
- package/CountryFlags/BN.js +5 -1
- package/CountryFlags/BO.js +5 -1
- package/CountryFlags/BQ.js +5 -1
- package/CountryFlags/BR.js +5 -1
- package/CountryFlags/BS.js +5 -1
- package/CountryFlags/BT.js +5 -1
- package/CountryFlags/BV.js +5 -1
- package/CountryFlags/BW.js +5 -1
- package/CountryFlags/BY.js +5 -1
- package/CountryFlags/BZ.js +5 -1
- package/CountryFlags/CA.js +5 -1
- package/CountryFlags/CC.js +5 -1
- package/CountryFlags/CD.js +5 -1
- package/CountryFlags/CF.js +5 -1
- package/CountryFlags/CG.js +5 -1
- package/CountryFlags/CH.js +5 -1
- package/CountryFlags/CI.js +5 -1
- package/CountryFlags/CK.js +5 -1
- package/CountryFlags/CL.js +5 -1
- package/CountryFlags/CM.js +5 -1
- package/CountryFlags/CN.js +5 -1
- package/CountryFlags/CO.js +5 -1
- package/CountryFlags/CR.js +5 -1
- package/CountryFlags/CU.js +5 -1
- package/CountryFlags/CV.js +5 -1
- package/CountryFlags/CW.js +5 -1
- package/CountryFlags/CX.js +5 -1
- package/CountryFlags/CY.js +5 -1
- package/CountryFlags/CZ.js +5 -1
- package/CountryFlags/DE.js +5 -1
- package/CountryFlags/DJ.js +5 -1
- package/CountryFlags/DK.js +5 -1
- package/CountryFlags/DM.js +5 -1
- package/CountryFlags/DO.js +5 -1
- package/CountryFlags/DZ.js +5 -1
- package/CountryFlags/EC.js +5 -1
- package/CountryFlags/EE.js +5 -1
- package/CountryFlags/EG.js +5 -1
- package/CountryFlags/EH.js +5 -1
- package/CountryFlags/ER.js +5 -1
- package/CountryFlags/ES.js +5 -1
- package/CountryFlags/ET.js +5 -1
- package/CountryFlags/EU.js +5 -1
- package/CountryFlags/FI.js +5 -1
- package/CountryFlags/FJ.js +5 -1
- package/CountryFlags/FK.js +5 -1
- package/CountryFlags/FM.js +5 -1
- package/CountryFlags/FO.js +5 -1
- package/CountryFlags/FR.js +5 -1
- package/CountryFlags/GA.js +5 -1
- package/CountryFlags/GB.js +5 -1
- package/CountryFlags/GD.js +5 -1
- package/CountryFlags/GE.js +5 -1
- package/CountryFlags/GEAB.js +5 -1
- package/CountryFlags/GEOS.js +5 -1
- package/CountryFlags/GF.js +5 -1
- package/CountryFlags/GG.js +5 -1
- package/CountryFlags/GH.js +5 -1
- package/CountryFlags/GI.js +5 -1
- package/CountryFlags/GL.js +5 -1
- package/CountryFlags/GM.js +5 -1
- package/CountryFlags/GN.js +5 -1
- package/CountryFlags/GP.js +5 -1
- package/CountryFlags/GQ.js +5 -1
- package/CountryFlags/GR.js +5 -1
- package/CountryFlags/GS.js +5 -1
- package/CountryFlags/GT.js +5 -1
- package/CountryFlags/GU.js +5 -1
- package/CountryFlags/GW.js +5 -1
- package/CountryFlags/GY.js +5 -1
- package/CountryFlags/HK.js +5 -1
- package/CountryFlags/HM.js +5 -1
- package/CountryFlags/HN.js +5 -1
- package/CountryFlags/HR.js +5 -1
- package/CountryFlags/HT.js +5 -1
- package/CountryFlags/HU.js +5 -1
- package/CountryFlags/IC.js +5 -1
- package/CountryFlags/ID.js +5 -1
- package/CountryFlags/IE.js +5 -1
- package/CountryFlags/IL.js +5 -1
- package/CountryFlags/IM.js +5 -1
- package/CountryFlags/IN.js +5 -1
- package/CountryFlags/IO.js +5 -1
- package/CountryFlags/IQ.js +5 -1
- package/CountryFlags/IR.js +5 -1
- package/CountryFlags/IS.js +5 -1
- package/CountryFlags/IT.js +5 -1
- package/CountryFlags/JE.js +5 -1
- package/CountryFlags/JM.js +5 -1
- package/CountryFlags/JO.js +5 -1
- package/CountryFlags/JP.js +5 -1
- package/CountryFlags/KE.js +5 -1
- package/CountryFlags/KG.js +5 -1
- package/CountryFlags/KH.js +5 -1
- package/CountryFlags/KI.js +5 -1
- package/CountryFlags/KM.js +5 -1
- package/CountryFlags/KN.js +5 -1
- package/CountryFlags/KP.js +5 -1
- package/CountryFlags/KR.js +5 -1
- package/CountryFlags/KW.js +5 -1
- package/CountryFlags/KY.js +5 -1
- package/CountryFlags/KZ.js +5 -1
- package/CountryFlags/LA.js +5 -1
- package/CountryFlags/LB.js +5 -1
- package/CountryFlags/LC.js +5 -1
- package/CountryFlags/LI.js +5 -1
- package/CountryFlags/LK.js +5 -1
- package/CountryFlags/LR.js +5 -1
- package/CountryFlags/LS.js +5 -1
- package/CountryFlags/LT.js +5 -1
- package/CountryFlags/LU.js +5 -1
- package/CountryFlags/LV.js +5 -1
- package/CountryFlags/LY.js +5 -1
- package/CountryFlags/MA.js +5 -1
- package/CountryFlags/MC.js +5 -1
- package/CountryFlags/MD.js +5 -1
- package/CountryFlags/ME.js +5 -1
- package/CountryFlags/MF.js +5 -1
- package/CountryFlags/MG.js +5 -1
- package/CountryFlags/MH.js +5 -1
- package/CountryFlags/MK.js +5 -1
- package/CountryFlags/ML.js +5 -1
- package/CountryFlags/MM.js +5 -1
- package/CountryFlags/MN.js +5 -1
- package/CountryFlags/MO.js +5 -1
- package/CountryFlags/MP.js +5 -1
- package/CountryFlags/MQ.js +5 -1
- package/CountryFlags/MR.js +5 -1
- package/CountryFlags/MS.js +5 -1
- package/CountryFlags/MT.js +5 -1
- package/CountryFlags/MU.js +5 -1
- package/CountryFlags/MV.js +5 -1
- package/CountryFlags/MW.js +5 -1
- package/CountryFlags/MX.js +5 -1
- package/CountryFlags/MY.js +5 -1
- package/CountryFlags/MZ.js +5 -1
- package/CountryFlags/NA.js +5 -1
- package/CountryFlags/NC.js +5 -1
- package/CountryFlags/NE.js +5 -1
- package/CountryFlags/NF.js +5 -1
- package/CountryFlags/NG.js +5 -1
- package/CountryFlags/NI.js +5 -1
- package/CountryFlags/NL.js +5 -1
- package/CountryFlags/NO.js +5 -1
- package/CountryFlags/NP.js +5 -1
- package/CountryFlags/NR.js +5 -1
- package/CountryFlags/NU.js +5 -1
- package/CountryFlags/NZ.js +5 -1
- package/CountryFlags/OM.js +5 -1
- package/CountryFlags/PA.js +5 -1
- package/CountryFlags/PE.js +5 -1
- package/CountryFlags/PF.js +5 -1
- package/CountryFlags/PG.js +5 -1
- package/CountryFlags/PH.js +5 -1
- package/CountryFlags/PK.js +5 -1
- package/CountryFlags/PL.js +5 -1
- package/CountryFlags/PM.js +5 -1
- package/CountryFlags/PN.js +5 -1
- package/CountryFlags/PR.js +5 -1
- package/CountryFlags/PS.js +5 -1
- package/CountryFlags/PT.js +5 -1
- package/CountryFlags/PW.js +5 -1
- package/CountryFlags/PY.js +5 -1
- package/CountryFlags/QA.js +5 -1
- package/CountryFlags/RE.js +5 -1
- package/CountryFlags/RO.js +5 -1
- package/CountryFlags/RS.js +5 -1
- package/CountryFlags/RU.js +5 -1
- package/CountryFlags/RW.js +5 -1
- package/CountryFlags/SA.js +5 -1
- package/CountryFlags/SB.js +5 -1
- package/CountryFlags/SC.js +5 -1
- package/CountryFlags/SD.js +5 -1
- package/CountryFlags/SE.js +5 -1
- package/CountryFlags/SG.js +5 -1
- package/CountryFlags/SH.js +5 -1
- package/CountryFlags/SI.js +5 -1
- package/CountryFlags/SJ.js +5 -1
- package/CountryFlags/SK.js +5 -1
- package/CountryFlags/SL.js +5 -1
- package/CountryFlags/SM.js +5 -1
- package/CountryFlags/SN.js +5 -1
- package/CountryFlags/SO.js +5 -1
- package/CountryFlags/SR.js +5 -1
- package/CountryFlags/SS.js +5 -1
- package/CountryFlags/ST.js +5 -1
- package/CountryFlags/SV.js +5 -1
- package/CountryFlags/SX.js +5 -1
- package/CountryFlags/SY.js +5 -1
- package/CountryFlags/SZ.js +5 -1
- package/CountryFlags/TA.js +5 -1
- package/CountryFlags/TC.js +5 -1
- package/CountryFlags/TD.js +5 -1
- package/CountryFlags/TF.js +5 -1
- package/CountryFlags/TG.js +5 -1
- package/CountryFlags/TH.js +5 -1
- package/CountryFlags/TJ.js +5 -1
- package/CountryFlags/TK.js +5 -1
- package/CountryFlags/TL.js +5 -1
- package/CountryFlags/TM.js +5 -1
- package/CountryFlags/TN.js +5 -1
- package/CountryFlags/TO.js +5 -1
- package/CountryFlags/TR.js +5 -1
- package/CountryFlags/TT.js +5 -1
- package/CountryFlags/TV.js +5 -1
- package/CountryFlags/TW.js +5 -1
- package/CountryFlags/TZ.js +5 -1
- package/CountryFlags/UA.js +5 -1
- package/CountryFlags/UG.js +5 -1
- package/CountryFlags/UM.js +5 -1
- package/CountryFlags/US.js +5 -1
- package/CountryFlags/UY.js +5 -1
- package/CountryFlags/UZ.js +5 -1
- package/CountryFlags/Uknown.d.ts +7 -3
- package/CountryFlags/Uknown.js +9 -31
- package/CountryFlags/Unknown.d.ts +3 -0
- package/CountryFlags/Unknown.js +42 -0
- package/CountryFlags/VA.js +5 -1
- package/CountryFlags/VC.js +5 -1
- package/CountryFlags/VE.js +5 -1
- package/CountryFlags/VG.js +5 -1
- package/CountryFlags/VI.js +5 -1
- package/CountryFlags/VN.js +5 -1
- package/CountryFlags/VU.js +5 -1
- package/CountryFlags/WF.js +5 -1
- package/CountryFlags/WS.js +5 -1
- package/CountryFlags/XK.js +5 -1
- package/CountryFlags/YE.js +5 -1
- package/CountryFlags/YT.js +5 -1
- package/CountryFlags/ZA.js +5 -1
- package/CountryFlags/ZM.js +5 -1
- package/CountryFlags/ZW.js +5 -1
- package/CountryFlags/index.d.ts +2 -1
- package/CountryFlags/index.js +3 -1
- package/CountryFlags/isLabelled.d.ts +6 -0
- package/CountryFlags/isLabelled.js +7 -0
- package/DatePicker/index.d.ts +19 -6
- package/DatePicker/index.js +59 -12
- package/Grid/index.d.ts +60 -0
- package/Grid/index.js +43 -0
- package/Highlighted/index.d.ts +1 -1
- package/Highlighted/index.js +14 -10
- 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 +101 -30
- package/Menu/MenuItem.js +1 -1
- package/Menu/context.js +5 -0
- 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 +2 -1
- package/Modal/Dialog/DialogInner.js +1 -1
- package/Modal/Dialog/index.js +12 -7
- 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 +12 -10
- package/Modal/MessageBox/MessageBoxContainer.js +1 -1
- package/Modal/MessageBox/index.js +2 -1
- package/PhoneField/CountryFlagComponent.js +2 -2
- package/PhoneField/UnknownFlag.d.ts +6 -3
- package/PhoneField/UnknownFlag.js +8 -31
- package/PhoneField/index.js +45 -55
- package/PhoneField/templates.js +13 -14
- package/PhoneField/usePhoneUtils.d.ts +15 -0
- package/PhoneField/usePhoneUtils.js +30 -37
- package/Popper/Popper.d.ts +28 -8
- package/Popper/usePopper.d.ts +21 -31
- package/README.md +27 -10
- package/Radio/RadioBox.d.ts +14 -0
- package/Radio/RadioBox.js +100 -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 +49 -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 +62 -0
- package/Selectbox/index.d.ts +18 -2
- package/Selectbox/index.js +23 -7
- package/Stack/index.d.ts +62 -0
- package/Stack/index.js +38 -0
- package/Surface/SurfaceContainer.js +6 -0
- package/Surface/index.js +7 -3
- package/Swiper/Swiper.d.ts +28 -2
- package/Swiper/Swiper.js +233 -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 +9 -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 +5 -6
- package/Switch/SwitchTrack.js +5 -41
- package/Switch/index.d.ts +4 -4
- package/Switch/index.js +21 -11
- package/Switch/useSwitchColor.d.ts +7 -0
- package/Switch/useSwitchColor.js +33 -0
- package/Table/Table.d.ts +6 -0
- package/Table/Table.js +7 -62
- 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/TextArea/TextAreaIconWrapper.d.ts +1 -1
- package/TextArea/TextAreaInput.js +2 -0
- package/TextArea/index.js +1 -1
- package/TextField/TextFieldInput.js +2 -0
- package/TextField/TextFieldInputWrapper.d.ts +2 -0
- package/TextField/TextFieldInputWrapper.js +12 -2
- package/TextField/index.js +1 -1
- package/ThemeProvider/createTheme.js +2 -3
- package/ThemeProvider/index.d.ts +19 -2
- 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/package.json +2 -4
- 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/index.d.ts +0 -2
- package/Autocomplete2/index.js +0 -7
- package/CountryFlags/SwiperOverview.d.ts +0 -257
- package/CountryFlags/SwiperOverview.js +0 -524
|
@@ -54,13 +54,35 @@ 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
59
|
__exportStar(require("./use-calendar"), exports);
|
|
60
60
|
__exportStar(require("./CalendarWeekDaysBar"), exports);
|
|
61
|
-
const
|
|
62
|
-
|
|
61
|
+
const viewAppear = (0, react_2.keyframes) `
|
|
62
|
+
from {
|
|
63
|
+
opacity: 0;
|
|
64
|
+
transform: scale(0.97);
|
|
65
|
+
}
|
|
66
|
+
to {
|
|
67
|
+
opacity: 1;
|
|
68
|
+
transform: none;
|
|
69
|
+
}
|
|
63
70
|
`;
|
|
71
|
+
/**
|
|
72
|
+
* Only the active view is rendered: the hidden views are not focusable and not announced
|
|
73
|
+
*/
|
|
74
|
+
const ViewContainer = styled_1.default.div `
|
|
75
|
+
flex: 1;
|
|
76
|
+
display: flex;
|
|
77
|
+
flex-direction: column;
|
|
78
|
+
min-height: 0;
|
|
79
|
+
animation: ${viewAppear} 0.2s ease-out;
|
|
80
|
+
|
|
81
|
+
@media (prefers-reduced-motion: reduce) {
|
|
82
|
+
animation: none;
|
|
83
|
+
}
|
|
84
|
+
`;
|
|
85
|
+
const dateKey = (date) => `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}`;
|
|
64
86
|
const isRangeValue = (value) => {
|
|
65
87
|
if (value instanceof Array) {
|
|
66
88
|
return value.every(v => v instanceof Date || v === null);
|
|
@@ -80,21 +102,12 @@ const computeViews = (inputViews, range) => {
|
|
|
80
102
|
const computeView = (inputParams) => {
|
|
81
103
|
var _a;
|
|
82
104
|
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;
|
|
105
|
+
const requested = inputView !== null && inputView !== void 0 ? inputView : inputInitialView;
|
|
106
|
+
if (requested && inputViews && !inputViews.includes(requested)) {
|
|
107
|
+
throw new Error(`The view «${requested}» must be one of the \`views\`: ${inputViews.join(', ')}`);
|
|
96
108
|
}
|
|
97
|
-
|
|
109
|
+
// The requested view wins over the first of the views
|
|
110
|
+
return (_a = requested !== null && requested !== void 0 ? requested : inputViews === null || inputViews === void 0 ? void 0 : inputViews[0]) !== null && _a !== void 0 ? _a : 'days';
|
|
98
111
|
};
|
|
99
112
|
const computeCalendarDate = (params) => {
|
|
100
113
|
const { inputValue, defaultValue } = params;
|
|
@@ -135,7 +148,7 @@ const computeCalendarDate = (params) => {
|
|
|
135
148
|
};
|
|
136
149
|
const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
137
150
|
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;
|
|
151
|
+
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', } = props;
|
|
139
152
|
/**
|
|
140
153
|
* Validations
|
|
141
154
|
*/
|
|
@@ -202,7 +215,7 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
202
215
|
WeekRowButton: (overrides === null || overrides === void 0 ? void 0 : overrides.WeekRowButton) || CalendarWeekRowButton_1.default,
|
|
203
216
|
WeekDayWeekNumber: (overrides === null || overrides === void 0 ? void 0 : overrides.WeekDayWeekNumber) || CalendarWeekDayWeekNumber_1.default,
|
|
204
217
|
}), [overrides]);
|
|
205
|
-
const
|
|
218
|
+
const dateContainerRef = react_1.default.useRef(null);
|
|
206
219
|
/**
|
|
207
220
|
* Inside date value
|
|
208
221
|
*/
|
|
@@ -214,7 +227,16 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
214
227
|
* Selected value
|
|
215
228
|
*/
|
|
216
229
|
const inputValueRef = react_1.default.useRef(inputValue);
|
|
217
|
-
const [
|
|
230
|
+
const [internalValue, setValue] = react_1.default.useState((_a = inputValue !== null && inputValue !== void 0 ? inputValue : defaultValue) !== null && _a !== void 0 ? _a : null);
|
|
231
|
+
// Controlled: the value is always the `value` property, even if the parent did not accept the change
|
|
232
|
+
const value = typeof inputValue !== 'undefined'
|
|
233
|
+
? inputValue
|
|
234
|
+
: internalValue;
|
|
235
|
+
/**
|
|
236
|
+
* The day with the keyboard focus in the days view (roving tabindex)
|
|
237
|
+
*/
|
|
238
|
+
const [focusedDate, setFocusedDate] = react_1.default.useState(null);
|
|
239
|
+
const shouldMoveFocus = react_1.default.useRef(false);
|
|
218
240
|
/**
|
|
219
241
|
* Current view mode
|
|
220
242
|
*/
|
|
@@ -229,16 +251,11 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
229
251
|
const [views, setComputedViews] = react_1.default.useState(() => computeViews(inputViews, range));
|
|
230
252
|
const setViews = react_1.default.useCallback((variants) => setComputedViews(variants), []);
|
|
231
253
|
const selectView = react_1.default.useCallback((view) => {
|
|
232
|
-
var _a;
|
|
233
254
|
const nextViews = views.includes(view) ? views : [...views, view];
|
|
234
255
|
if (nextViews !== views) {
|
|
235
256
|
setViews(nextViews);
|
|
236
257
|
}
|
|
237
258
|
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
259
|
}, [setViews, views]);
|
|
243
260
|
/**
|
|
244
261
|
* Controlled `view` property was changed
|
|
@@ -330,6 +347,7 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
330
347
|
}, [calendarDate, view]);
|
|
331
348
|
const handleCellDateClick = react_1.default.useCallback((selectedDate) => () => {
|
|
332
349
|
var _a;
|
|
350
|
+
setFocusedDate(selectedDate);
|
|
333
351
|
const nextView = getNextAvailableView();
|
|
334
352
|
if (nextView) {
|
|
335
353
|
setView(nextView);
|
|
@@ -373,7 +391,7 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
373
391
|
setValue(selectedValue);
|
|
374
392
|
}
|
|
375
393
|
}
|
|
376
|
-
}, [
|
|
394
|
+
}, [getNextAvailableView, onChange, selectView, range, inputValue]);
|
|
377
395
|
/**
|
|
378
396
|
* Handle of click on month item
|
|
379
397
|
*/
|
|
@@ -449,7 +467,97 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
449
467
|
const weeks = react_1.default.useMemo(() => getWeeks(calendarDate), [calendarDate, getWeeks]);
|
|
450
468
|
const yearsRange = react_1.default.useMemo(() => getYearsRange(minDate, maxDate), [minDate, maxDate, getYearsRange]);
|
|
451
469
|
const monthsRange = react_1.default.useMemo(() => getMonthsRange(minDate, maxDate, calendarDate.getFullYear()), [minDate, maxDate, getMonthsRange, calendarDate]);
|
|
452
|
-
const
|
|
470
|
+
const minDay = react_1.default.useMemo(() => new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()), [minDate]);
|
|
471
|
+
const maxDay = react_1.default.useMemo(() => new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate()), [maxDate]);
|
|
472
|
+
const dayLabelFormatter = react_1.default.useMemo(() => typeof Intl !== 'undefined'
|
|
473
|
+
? new Intl.DateTimeFormat(locale, {
|
|
474
|
+
weekday: 'long',
|
|
475
|
+
day: 'numeric',
|
|
476
|
+
month: 'long',
|
|
477
|
+
year: 'numeric',
|
|
478
|
+
})
|
|
479
|
+
: null, [locale]);
|
|
480
|
+
/**
|
|
481
|
+
* The only day in the tab order: the focused, the selected, today or the first available one
|
|
482
|
+
*/
|
|
483
|
+
const tabbableDateKey = react_1.default.useMemo(() => {
|
|
484
|
+
const month = calendarDate.getMonth();
|
|
485
|
+
const days = weeks
|
|
486
|
+
.flatMap(week => week.days)
|
|
487
|
+
.filter(day => day.date.getMonth() === month && !day.isDisabled);
|
|
488
|
+
const selected = isRangeValue(value) ? value === null || value === void 0 ? void 0 : value[0] : isNotRangeValue(value) ? value : null;
|
|
489
|
+
const candidates = [focusedDate, selected, new Date()];
|
|
490
|
+
const found = candidates
|
|
491
|
+
.map(candidate => candidate && days.find(day => isSameDay(day.date, candidate)))
|
|
492
|
+
.find(Boolean);
|
|
493
|
+
return found ? dateKey(found.date) : days[0] ? dateKey(days[0].date) : null;
|
|
494
|
+
}, [calendarDate, weeks, value, focusedDate, isSameDay]);
|
|
495
|
+
/**
|
|
496
|
+
* Arrows move by a day and a week, Home/End — to the start/end of the week,
|
|
497
|
+
* PageUp/PageDown — by a month. Crossing the month border switches the month
|
|
498
|
+
*/
|
|
499
|
+
const handleDaysKeyDown = react_1.default.useCallback((event) => {
|
|
500
|
+
var _a;
|
|
501
|
+
const key = (_a = event.target.closest('[data-date]')) === null || _a === void 0 ? void 0 : _a.dataset.date;
|
|
502
|
+
if (!key)
|
|
503
|
+
return;
|
|
504
|
+
const [y, m, d] = key.split('-').map(Number);
|
|
505
|
+
const current = new Date(y, m, d);
|
|
506
|
+
const weekDay = (current.getDay() -
|
|
507
|
+
['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'].indexOf(weekStartDay) +
|
|
508
|
+
7) %
|
|
509
|
+
7;
|
|
510
|
+
let target;
|
|
511
|
+
switch (event.key) {
|
|
512
|
+
case 'ArrowLeft':
|
|
513
|
+
target = new Date(y, m, d - 1);
|
|
514
|
+
break;
|
|
515
|
+
case 'ArrowRight':
|
|
516
|
+
target = new Date(y, m, d + 1);
|
|
517
|
+
break;
|
|
518
|
+
case 'ArrowUp':
|
|
519
|
+
target = new Date(y, m, d - 7);
|
|
520
|
+
break;
|
|
521
|
+
case 'ArrowDown':
|
|
522
|
+
target = new Date(y, m, d + 7);
|
|
523
|
+
break;
|
|
524
|
+
case 'Home':
|
|
525
|
+
target = new Date(y, m, d - weekDay);
|
|
526
|
+
break;
|
|
527
|
+
case 'End':
|
|
528
|
+
target = new Date(y, m, d + 6 - weekDay);
|
|
529
|
+
break;
|
|
530
|
+
case 'PageUp':
|
|
531
|
+
target = new Date(y, m - 1, Math.min(d, new Date(y, m, 0).getDate()));
|
|
532
|
+
break;
|
|
533
|
+
case 'PageDown':
|
|
534
|
+
target = new Date(y, m + 1, Math.min(d, new Date(y, m + 2, 0).getDate()));
|
|
535
|
+
break;
|
|
536
|
+
default:
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
event.preventDefault();
|
|
540
|
+
// Stay inside minDate/maxDate
|
|
541
|
+
if (target.getTime() < minDay.getTime())
|
|
542
|
+
target = minDay;
|
|
543
|
+
if (target.getTime() > maxDay.getTime())
|
|
544
|
+
target = maxDay;
|
|
545
|
+
setFocusedDate(target);
|
|
546
|
+
shouldMoveFocus.current = true;
|
|
547
|
+
if (target.getMonth() !== calendarDate.getMonth() ||
|
|
548
|
+
target.getFullYear() !== calendarDate.getFullYear()) {
|
|
549
|
+
setCalendarDate(new Date(target.getFullYear(), target.getMonth(), 1));
|
|
550
|
+
}
|
|
551
|
+
}, [weekStartDay, minDay, maxDay, calendarDate]);
|
|
552
|
+
// Move the DOM focus after the keyboard navigation has rendered the new day
|
|
553
|
+
react_1.default.useEffect(() => {
|
|
554
|
+
var _a, _b;
|
|
555
|
+
if (shouldMoveFocus.current && focusedDate) {
|
|
556
|
+
shouldMoveFocus.current = false;
|
|
557
|
+
(_b = (_a = dateContainerRef.current) === null || _a === void 0 ? void 0 : _a.querySelector(`[data-date="${dateKey(focusedDate)}"]`)) === null || _b === void 0 ? void 0 : _b.focus();
|
|
558
|
+
}
|
|
559
|
+
}, [focusedDate, calendarDate]);
|
|
560
|
+
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
561
|
if (day.date.getMonth() === calendarDate.getMonth()) {
|
|
454
562
|
const badge = badges.find(b => isSameDay(b.date, day.date));
|
|
455
563
|
let fill = false;
|
|
@@ -465,26 +573,30 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
465
573
|
else if (isNotRangeValue(value)) {
|
|
466
574
|
isSelected = Boolean(value && isSameDay(value, day.date));
|
|
467
575
|
}
|
|
468
|
-
|
|
576
|
+
const key = dateKey(day.date);
|
|
577
|
+
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
578
|
getDayLabel(day.date),
|
|
470
579
|
badge && (react_1.default.createElement(overridesMap.DayBadge, { badgeContent: badge.badgeContent, isToday: day.isToday, accentColor: badge.accentColor }))));
|
|
471
580
|
}
|
|
472
|
-
return (react_1.default.createElement(overridesMap.EmptyCell, { key: day.date.getTime() }, getDayLabel(day.date)));
|
|
581
|
+
return (react_1.default.createElement(overridesMap.EmptyCell, { key: day.date.getTime(), "aria-hidden": true }, getDayLabel(day.date)));
|
|
473
582
|
})))))), [
|
|
474
583
|
accentColor,
|
|
475
584
|
badges,
|
|
476
585
|
calendarDate,
|
|
586
|
+
dayLabelFormatter,
|
|
477
587
|
getDayLabel,
|
|
478
|
-
getWeeks,
|
|
479
588
|
handleCellDateClick,
|
|
589
|
+
handleDaysKeyDown,
|
|
480
590
|
isSameDay,
|
|
481
591
|
markToday,
|
|
482
592
|
overridesMap,
|
|
593
|
+
tabbableDateKey,
|
|
483
594
|
value,
|
|
595
|
+
weeks,
|
|
484
596
|
]);
|
|
485
597
|
const renderViewMonths = react_1.default.useCallback(() => (react_1.default.createElement(overridesMap.MonthsSelector, null, monthsRange.map(monthIndex => {
|
|
486
598
|
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))));
|
|
599
|
+
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
600
|
}))), [accentColor, calendarDate, getMonthLabel, handleMonthSelected, monthsRange, overridesMap]);
|
|
489
601
|
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
602
|
accentColor,
|
|
@@ -528,7 +640,6 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
528
640
|
overridesMap,
|
|
529
641
|
value,
|
|
530
642
|
]);
|
|
531
|
-
const initialIndex = react_1.default.useMemo(() => views.findIndex(v => v === view), [views, view]);
|
|
532
643
|
const getActiveView = react_1.default.useCallback(() => view, [view]);
|
|
533
644
|
const getCalendarDate = react_1.default.useCallback(() => calendarDate, [calendarDate]);
|
|
534
645
|
/**
|
|
@@ -548,7 +659,7 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
548
659
|
typeof heading !== 'undefined' && react_1.default.createElement(overridesMap.Heading, null, heading),
|
|
549
660
|
typeof subheading !== 'undefined' && (react_1.default.createElement(overridesMap.Subheading, null, subheading)),
|
|
550
661
|
react_1.default.createElement(overridesMap.Toolbar, null,
|
|
551
|
-
react_1.default.createElement(overridesMap.ControlButton, { iconOnly: true, onClick: handlePrevNextClick('prev'), disabled:
|
|
662
|
+
react_1.default.createElement(overridesMap.ControlButton, { iconOnly: true, onClick: handlePrevNextClick('prev'), disabled: view === 'years', "aria-label": prevButtonLabel, title: prevButtonLabel },
|
|
552
663
|
react_1.default.createElement(overridesMap.IconPrev, null)),
|
|
553
664
|
react_1.default.createElement(overridesMap.ControlButton, { disabled: !views.includes('months'), onClick: () => {
|
|
554
665
|
if (view === 'months' && views.includes('days')) {
|
|
@@ -566,31 +677,15 @@ const CalendarComponent = react_1.default.forwardRef((props, ref) => {
|
|
|
566
677
|
selectView('years');
|
|
567
678
|
}
|
|
568
679
|
} }, getYearLabel(calendarDate)),
|
|
569
|
-
react_1.default.createElement(overridesMap.ControlButton, { iconOnly: true, onClick: handlePrevNextClick('next'), disabled:
|
|
680
|
+
react_1.default.createElement(overridesMap.ControlButton, { iconOnly: true, onClick: handlePrevNextClick('next'), disabled: view === 'years', "aria-label": nextButtonLabel, title: nextButtonLabel },
|
|
570
681
|
react_1.default.createElement(overridesMap.IconNext, null)))),
|
|
571
682
|
view === 'days' && (react_1.default.createElement(overridesMap.WeekDaysBar, { locale: locale, week: weeks[0], format: weekDayLabelFormat || 'short' })),
|
|
572
683
|
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
|
-
}))),
|
|
684
|
+
react_1.default.createElement(ViewContainer, { key: view },
|
|
685
|
+
view === 'days' && renderViewDays(),
|
|
686
|
+
view === 'weeks' && renderViewWeeks(),
|
|
687
|
+
view === 'months' && renderViewMonths(),
|
|
688
|
+
view === 'years' && renderViewYears())),
|
|
594
689
|
(typeof resetButtonLabel !== 'undefined' ||
|
|
595
690
|
typeof todayButtonLabel !== 'undefined' ||
|
|
596
691
|
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;
|
|
@@ -24,20 +24,10 @@ const Btn = (0, styled_1.default)(Button_1.default) `
|
|
|
24
24
|
font-size: 0.8em;
|
|
25
25
|
margin: 0;
|
|
26
26
|
min-width: 0;
|
|
27
|
-
outline: none;
|
|
28
27
|
flex-basis: 50%;
|
|
29
28
|
`;
|
|
30
29
|
const CalendarMonthCell = (props, ref) => {
|
|
31
30
|
const { children, isSelected, accentColor } = props, restProps = __rest(props, ["children", "isSelected", "accentColor"]);
|
|
32
|
-
|
|
33
|
-
return (react_1.default.createElement(Btn, Object.assign({}, restProps, { type: "button", variant: isSelected ? 'standard' : 'plain', color: isSelected ? accentColor : 'default', ref: el => {
|
|
34
|
-
if (typeof ref === 'function') {
|
|
35
|
-
ref(el);
|
|
36
|
-
}
|
|
37
|
-
if (ref && typeof ref === 'object') {
|
|
38
|
-
ref.current = el;
|
|
39
|
-
}
|
|
40
|
-
myRef.current = el;
|
|
41
|
-
} }), children));
|
|
31
|
+
return (react_1.default.createElement(Btn, Object.assign({}, restProps, { type: "button", variant: isSelected ? 'standard' : 'plain', color: isSelected ? accentColor : 'default', ref: ref }), children));
|
|
42
32
|
};
|
|
43
33
|
exports.default = react_1.default.forwardRef(CalendarMonthCell);
|
|
@@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const styled_1 = __importDefault(require("@emotion/styled"));
|
|
8
8
|
const CalendarWeekDayLabel = styled_1.default.div `
|
|
9
|
-
|
|
9
|
+
display: flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
justify-content: center;
|
|
10
12
|
font-weight: 200;
|
|
11
13
|
font-size: 0.8em;
|
|
12
14
|
user-select: none;
|
|
@@ -29,6 +29,11 @@ const CalendarWeekDaysBar = (props, ref) => {
|
|
|
29
29
|
weekday: format,
|
|
30
30
|
}).format(day.date)
|
|
31
31
|
: '\u{0020}'), [format, locale, week]);
|
|
32
|
-
return (
|
|
32
|
+
return (
|
|
33
|
+
// Hidden from screen readers: every day cell has the full date label with the weekday
|
|
34
|
+
react_1.default.createElement(Container, Object.assign({ "aria-hidden": true }, restProps, { ref: ref }), weekDayLabels.map((label, index) => (
|
|
35
|
+
// The narrow labels repeat (e.g. «С» for Wednesday and Saturday), so the key is the index
|
|
36
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
37
|
+
react_1.default.createElement(CalendarWeekDayLabel_1.default, { key: index }, label)))));
|
|
33
38
|
};
|
|
34
39
|
exports.default = react_1.default.forwardRef(CalendarWeekDaysBar);
|
|
@@ -24,25 +24,10 @@ const Btn = (0, styled_1.default)(Button_1.default) `
|
|
|
24
24
|
font-size: 0.9em;
|
|
25
25
|
margin: 0;
|
|
26
26
|
min-width: 0;
|
|
27
|
-
outline: none;
|
|
28
27
|
flex-basis: 33%;
|
|
29
28
|
`;
|
|
30
29
|
const CalendarYearCell = (props, ref) => {
|
|
31
30
|
const { children, isSelected, accentColor } = props, restProps = __rest(props, ["children", "isSelected", "accentColor"]);
|
|
32
|
-
|
|
33
|
-
// React.useEffect(() => {
|
|
34
|
-
// if (isSelected && myRef.current) {
|
|
35
|
-
// myRef.current.scrollIntoView({ behavior: 'instant' });
|
|
36
|
-
// }
|
|
37
|
-
// }, [isSelected]);
|
|
38
|
-
return (react_1.default.createElement(Btn, Object.assign({}, restProps, { type: "button", variant: isSelected ? 'standard' : 'plain', color: isSelected ? accentColor : 'default', ref: el => {
|
|
39
|
-
if (typeof ref === 'function') {
|
|
40
|
-
ref(el);
|
|
41
|
-
}
|
|
42
|
-
if (ref && typeof ref === 'object') {
|
|
43
|
-
ref.current = el;
|
|
44
|
-
}
|
|
45
|
-
myRef.current = el;
|
|
46
|
-
} }), children));
|
|
31
|
+
return (react_1.default.createElement(Btn, Object.assign({}, restProps, { type: "button", variant: isSelected ? 'standard' : 'plain', color: isSelected ? accentColor : 'default', ref: ref }), children));
|
|
47
32
|
};
|
|
48
33
|
exports.default = react_1.default.forwardRef(CalendarYearCell);
|
|
@@ -7,27 +7,23 @@ const react_1 = __importDefault(require("react"));
|
|
|
7
7
|
const styled_1 = __importDefault(require("@emotion/styled"));
|
|
8
8
|
const CalendarYearCell_1 = __importDefault(require("./CalendarYearCell"));
|
|
9
9
|
const use_calendar_1 = __importDefault(require("./use-calendar"));
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* A plain scrollable grid: a couple of hundreds buttons do not need the virtualization
|
|
12
|
+
*/
|
|
11
13
|
const SelectorContainer = styled_1.default.div `
|
|
12
|
-
display: flex;
|
|
13
14
|
flex: 1;
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-wrap: wrap;
|
|
17
|
+
align-content: flex-start;
|
|
18
|
+
overflow-y: auto;
|
|
14
19
|
padding: 0.8em;
|
|
15
20
|
height: 100%;
|
|
16
|
-
|
|
17
|
-
`;
|
|
18
|
-
const SelectorContainerInner = styled_1.default.div `
|
|
19
|
-
flex: 1;
|
|
20
|
-
position: relative;
|
|
21
|
-
`;
|
|
22
|
-
const Chunk = styled_1.default.div `
|
|
23
|
-
display: flex;
|
|
24
|
-
align-items: center;
|
|
25
|
-
justify-content: space-between;
|
|
21
|
+
box-sizing: border-box;
|
|
26
22
|
`;
|
|
27
23
|
const CalendarYearsSelector = (props, ref) => {
|
|
28
|
-
const containerRef = react_1.default.useRef(null);
|
|
29
24
|
const { years, date, overrides, accentColor = 'primary', locale = 'ru-RU', minDate, maxDate, onChange, } = props;
|
|
30
|
-
const
|
|
25
|
+
const containerRef = react_1.default.useRef(null);
|
|
26
|
+
const selectedRef = react_1.default.useRef(null);
|
|
31
27
|
const overridesMap = react_1.default.useMemo(() => ({
|
|
32
28
|
YearCell: (overrides === null || overrides === void 0 ? void 0 : overrides.YearCell) || CalendarYearCell_1.default,
|
|
33
29
|
}), [overrides]);
|
|
@@ -38,29 +34,31 @@ const CalendarYearsSelector = (props, ref) => {
|
|
|
38
34
|
weekStartDay: 'monday',
|
|
39
35
|
displayLeadingZero: false,
|
|
40
36
|
});
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
for (let i = 0; i < years.length; i += 3) {
|
|
44
|
-
list.push(years.slice(i, i + 3).map(year => {
|
|
45
|
-
const item = {
|
|
46
|
-
value: year,
|
|
47
|
-
label: getYearLabel(new Date(year, date.getMonth(), date.getDate(), 0, 0, 0, 0)),
|
|
48
|
-
};
|
|
49
|
-
return item;
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
return list;
|
|
53
|
-
}, [date, getYearLabel, years]);
|
|
37
|
+
// Show the selected year in the middle of the list.
|
|
38
|
+
// The container is scrolled directly: scrollIntoView would scroll the page too
|
|
54
39
|
react_1.default.useLayoutEffect(() => {
|
|
55
|
-
|
|
56
|
-
|
|
40
|
+
const container = containerRef.current;
|
|
41
|
+
const selected = selectedRef.current;
|
|
42
|
+
if (container && selected) {
|
|
43
|
+
container.scrollTop =
|
|
44
|
+
selected.offsetTop -
|
|
45
|
+
container.offsetTop -
|
|
46
|
+
container.clientHeight / 2 +
|
|
47
|
+
selected.offsetHeight / 2;
|
|
57
48
|
}
|
|
58
49
|
}, []);
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
50
|
+
const setRefs = (el) => {
|
|
51
|
+
containerRef.current = el;
|
|
52
|
+
if (typeof ref === 'function') {
|
|
53
|
+
ref(el);
|
|
54
|
+
}
|
|
55
|
+
else if (ref) {
|
|
56
|
+
ref.current = el;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return (react_1.default.createElement(SelectorContainer, { ref: setRefs }, years.map(year => {
|
|
60
|
+
const isSelected = date.getFullYear() === year;
|
|
61
|
+
return (react_1.default.createElement(overridesMap.YearCell, { key: year, ref: isSelected ? selectedRef : undefined, accentColor: accentColor, isSelected: isSelected, "aria-pressed": isSelected, onClick: () => onChange(year) }, getYearLabel(new Date(year, 0, 1))));
|
|
62
|
+
})));
|
|
65
63
|
};
|
|
66
64
|
exports.default = react_1.default.forwardRef(CalendarYearsSelector);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type CalendarValue<Range> = Range extends
|
|
1
|
+
export type CalendarValue<Range> = Range extends true ? [Date, Date] | [Date, Date | null] | null : Date | null;
|
|
2
2
|
export type WeekDayName = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday';
|
|
3
3
|
export type Day = {
|
|
4
4
|
readonly date: Date;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface CheckboxAsteriskProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
3
|
+
/**
|
|
4
|
+
* If true, the asterisk will be set the error color
|
|
5
|
+
*/
|
|
6
|
+
readonly error?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Not used
|
|
9
|
+
*/
|
|
10
|
+
readonly focused?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: React.ForwardRefExoticComponent<CheckboxAsteriskProps & React.RefAttributes<HTMLSpanElement>>;
|
|
13
|
+
export default _default;
|
|
@@ -22,18 +22,32 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
25
36
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
38
|
};
|
|
28
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
40
|
const React = __importStar(require("react"));
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
const styled_1 = __importDefault(require("@emotion/styled"));
|
|
42
|
+
const Asterisk = styled_1.default.span `
|
|
43
|
+
font-size: 0.8em;
|
|
44
|
+
margin-left: 0.2em;
|
|
45
|
+
position: relative;
|
|
46
|
+
top: -0.4em;
|
|
47
|
+
color: ${({ theme }) => theme.color.error.toString()};
|
|
48
|
+
`;
|
|
49
|
+
const CheckboxAsterisk = (props, ref) => {
|
|
50
|
+
const { children, error, focused } = props, nativeProps = __rest(props, ["children", "error", "focused"]);
|
|
51
|
+
return (React.createElement(Asterisk, Object.assign({}, nativeProps, { "$error": error, "$focused": focused, ref: ref }), children));
|
|
52
|
+
};
|
|
53
|
+
exports.default = React.forwardRef(CheckboxAsterisk);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type CheckboxBoxProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> & {
|
|
3
|
+
/**
|
|
4
|
+
* Shows the dash instead of the check mark (e.g. «select all» when only some items are selected)
|
|
5
|
+
*/
|
|
6
|
+
readonly indeterminate?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Paints the border with the error color
|
|
9
|
+
*/
|
|
10
|
+
readonly error?: boolean;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
|
|
13
|
+
/**
|
|
14
|
+
* Shows the dash instead of the check mark (e.g. «select all» when only some items are selected)
|
|
15
|
+
*/
|
|
16
|
+
readonly indeterminate?: boolean | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Paints the border with the error color
|
|
19
|
+
*/
|
|
20
|
+
readonly error?: boolean | undefined;
|
|
21
|
+
} & React.RefAttributes<HTMLInputElement>>;
|
|
22
|
+
export default _default;
|