@via-profit/ui-kit 0.1.0-rc.2 → 0.1.0-rc.21
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/Autocomplete/index.d.ts +46 -0
- package/Autocomplete/index.js +187 -0
- package/Autocomplete/popper-options.d.ts +4 -0
- package/Autocomplete/popper-options.js +33 -0
- package/Button/ButtonBase.d.ts +62 -0
- package/Button/ButtonBase.js +36 -0
- package/Button/ButtonContainer.d.ts +36 -0
- package/Button/ButtonContainer.js +56 -0
- package/Button/ButtonIconWrapper.d.ts +14 -0
- package/Button/ButtonIconWrapper.js +34 -0
- package/Button/ButtonOutlined.d.ts +5 -0
- package/Button/ButtonOutlined.js +87 -0
- package/Button/ButtonPlain.d.ts +5 -0
- package/Button/ButtonPlain.js +90 -0
- package/Button/ButtonStandard.d.ts +5 -0
- package/Button/ButtonStandard.js +110 -0
- package/Button/ButtonTextWrapper.d.ts +29 -0
- package/Button/ButtonTextWrapper.js +35 -0
- package/Button/index.d.ts +23 -0
- package/Button/index.js +31 -0
- package/CHANGELOG.md +0 -0
- package/Calendar/CalendarBottomBar.d.ts +4 -0
- package/Calendar/CalendarBottomBar.js +28 -0
- package/Calendar/CalendarCell.d.ts +8 -0
- package/Calendar/CalendarCell.js +59 -0
- package/Calendar/CalendarDateContainer.d.ts +6 -0
- package/Calendar/CalendarDateContainer.js +13 -0
- package/Calendar/CalendarEmptyCell.d.ts +4 -0
- package/Calendar/CalendarEmptyCell.js +29 -0
- package/Calendar/CalendarMonthControl.d.ts +6 -0
- package/Calendar/CalendarMonthControl.js +49 -0
- package/Calendar/CalendarPaper.d.ts +6 -0
- package/Calendar/CalendarPaper.js +19 -0
- package/Calendar/CalendarTopBar.d.ts +4 -0
- package/Calendar/CalendarTopBar.js +30 -0
- package/Calendar/CalendarWeekDayLabel.d.ts +6 -0
- package/Calendar/CalendarWeekDayLabel.js +17 -0
- package/Calendar/CalendarWeekDaysBar.d.ts +10 -0
- package/Calendar/CalendarWeekDaysBar.js +32 -0
- package/Calendar/CalendarWeekRow.d.ts +6 -0
- package/Calendar/CalendarWeekRow.js +14 -0
- package/Calendar/IconChevronLeft.d.ts +3 -0
- package/Calendar/IconChevronLeft.js +9 -0
- package/Calendar/IconChevronRight.d.ts +3 -0
- package/Calendar/IconChevronRight.js +9 -0
- package/Calendar/index.d.ts +18 -0
- package/Calendar/index.js +166 -0
- package/Calendar/use-calendar.d.ts +50 -0
- package/Calendar/use-calendar.js +197 -0
- package/Color/index.d.ts +113 -0
- package/Color/index.js +444 -0
- package/CountryFlags/AC.d.ts +3 -0
- package/CountryFlags/AC.js +53 -0
- package/CountryFlags/AD.d.ts +3 -0
- package/CountryFlags/AD.js +39 -0
- package/CountryFlags/AE.d.ts +3 -0
- package/CountryFlags/AE.js +32 -0
- package/CountryFlags/AF.d.ts +3 -0
- package/CountryFlags/AF.js +33 -0
- package/CountryFlags/AG.d.ts +3 -0
- package/CountryFlags/AG.js +35 -0
- package/CountryFlags/AI.d.ts +3 -0
- package/CountryFlags/AI.js +37 -0
- package/CountryFlags/AL.d.ts +3 -0
- package/CountryFlags/AL.js +35 -0
- package/CountryFlags/AM.d.ts +3 -0
- package/CountryFlags/AM.js +31 -0
- package/CountryFlags/AO.d.ts +3 -0
- package/CountryFlags/AO.js +35 -0
- package/CountryFlags/AQ.d.ts +3 -0
- package/CountryFlags/AQ.js +30 -0
- package/CountryFlags/AR.d.ts +3 -0
- package/CountryFlags/AR.js +31 -0
- package/CountryFlags/AS.d.ts +3 -0
- package/CountryFlags/AS.js +33 -0
- package/CountryFlags/AT.d.ts +3 -0
- package/CountryFlags/AT.js +30 -0
- package/CountryFlags/AU.d.ts +3 -0
- package/CountryFlags/AU.js +41 -0
- package/CountryFlags/AW.d.ts +3 -0
- package/CountryFlags/AW.js +33 -0
- package/CountryFlags/AX.d.ts +3 -0
- package/CountryFlags/AX.js +31 -0
- package/CountryFlags/AZ.d.ts +3 -0
- package/CountryFlags/AZ.js +34 -0
- package/CountryFlags/BA.d.ts +3 -0
- package/CountryFlags/BA.js +40 -0
- package/CountryFlags/BB.d.ts +3 -0
- package/CountryFlags/BB.js +32 -0
- package/CountryFlags/BD.d.ts +3 -0
- package/CountryFlags/BD.js +30 -0
- package/CountryFlags/BE.d.ts +3 -0
- package/CountryFlags/BE.js +31 -0
- package/CountryFlags/BF.d.ts +3 -0
- package/CountryFlags/BF.js +31 -0
- package/CountryFlags/BG.d.ts +3 -0
- package/CountryFlags/BG.js +31 -0
- package/CountryFlags/BH.d.ts +3 -0
- package/CountryFlags/BH.js +30 -0
- package/CountryFlags/BI.d.ts +3 -0
- package/CountryFlags/BI.js +36 -0
- package/CountryFlags/BJ.d.ts +3 -0
- package/CountryFlags/BJ.js +31 -0
- package/CountryFlags/BL.d.ts +3 -0
- package/CountryFlags/BL.js +39 -0
- package/CountryFlags/BM.d.ts +3 -0
- package/CountryFlags/BM.js +40 -0
- package/CountryFlags/BN.d.ts +3 -0
- package/CountryFlags/BN.js +34 -0
- package/CountryFlags/BO.d.ts +3 -0
- package/CountryFlags/BO.js +31 -0
- package/CountryFlags/BQ.d.ts +3 -0
- package/CountryFlags/BQ.js +33 -0
- package/CountryFlags/BR.d.ts +3 -0
- package/CountryFlags/BR.js +32 -0
- package/CountryFlags/BS.d.ts +3 -0
- package/CountryFlags/BS.js +32 -0
- package/CountryFlags/BT.d.ts +3 -0
- package/CountryFlags/BT.js +31 -0
- package/CountryFlags/BV.d.ts +3 -0
- package/CountryFlags/BV.js +33 -0
- package/CountryFlags/BW.d.ts +3 -0
- package/CountryFlags/BW.js +32 -0
- package/CountryFlags/BY.d.ts +3 -0
- package/CountryFlags/BY.js +35 -0
- package/CountryFlags/BZ.d.ts +3 -0
- package/CountryFlags/BZ.js +36 -0
- package/CountryFlags/CA.d.ts +3 -0
- package/CountryFlags/CA.js +31 -0
- package/CountryFlags/CC.d.ts +3 -0
- package/CountryFlags/CC.js +33 -0
- package/CountryFlags/CD.d.ts +3 -0
- package/CountryFlags/CD.js +32 -0
- package/CountryFlags/CF.d.ts +3 -0
- package/CountryFlags/CF.js +36 -0
- package/CountryFlags/CG.d.ts +3 -0
- package/CountryFlags/CG.js +31 -0
- package/CountryFlags/CH.d.ts +3 -0
- package/CountryFlags/CH.js +30 -0
- package/CountryFlags/CI.d.ts +3 -0
- package/CountryFlags/CI.js +31 -0
- package/CountryFlags/CK.d.ts +3 -0
- package/CountryFlags/CK.js +34 -0
- package/CountryFlags/CL.d.ts +3 -0
- package/CountryFlags/CL.js +32 -0
- package/CountryFlags/CM.d.ts +3 -0
- package/CountryFlags/CM.js +32 -0
- package/CountryFlags/CN.d.ts +3 -0
- package/CountryFlags/CN.js +31 -0
- package/CountryFlags/CO.d.ts +3 -0
- package/CountryFlags/CO.js +31 -0
- package/CountryFlags/CR.d.ts +3 -0
- package/CountryFlags/CR.js +31 -0
- package/CountryFlags/CU.d.ts +3 -0
- package/CountryFlags/CU.js +34 -0
- package/CountryFlags/CV.d.ts +3 -0
- package/CountryFlags/CV.js +33 -0
- package/CountryFlags/CW.d.ts +3 -0
- package/CountryFlags/CW.js +32 -0
- package/CountryFlags/CX.d.ts +3 -0
- package/CountryFlags/CX.js +35 -0
- package/CountryFlags/CY.d.ts +3 -0
- package/CountryFlags/CY.js +34 -0
- package/CountryFlags/CZ.d.ts +3 -0
- package/CountryFlags/CZ.js +31 -0
- package/CountryFlags/DE.d.ts +3 -0
- package/CountryFlags/DE.js +31 -0
- package/CountryFlags/DJ.d.ts +3 -0
- package/CountryFlags/DJ.js +32 -0
- package/CountryFlags/DK.d.ts +3 -0
- package/CountryFlags/DK.js +30 -0
- package/CountryFlags/DM.d.ts +3 -0
- package/CountryFlags/DM.js +39 -0
- package/CountryFlags/DO.d.ts +3 -0
- package/CountryFlags/DO.js +38 -0
- package/CountryFlags/DZ.d.ts +3 -0
- package/CountryFlags/DZ.js +33 -0
- package/CountryFlags/EC.d.ts +3 -0
- package/CountryFlags/EC.js +35 -0
- package/CountryFlags/EE.d.ts +3 -0
- package/CountryFlags/EE.js +31 -0
- package/CountryFlags/EG.d.ts +3 -0
- package/CountryFlags/EG.js +32 -0
- package/CountryFlags/EH.d.ts +3 -0
- package/CountryFlags/EH.js +34 -0
- package/CountryFlags/ER.d.ts +3 -0
- package/CountryFlags/ER.js +40 -0
- package/CountryFlags/ES.d.ts +3 -0
- package/CountryFlags/ES.js +34 -0
- package/CountryFlags/ET.d.ts +3 -0
- package/CountryFlags/ET.js +37 -0
- package/CountryFlags/EU.d.ts +3 -0
- package/CountryFlags/EU.js +30 -0
- package/CountryFlags/FI.d.ts +3 -0
- package/CountryFlags/FI.js +30 -0
- package/CountryFlags/FJ.d.ts +3 -0
- package/CountryFlags/FJ.js +36 -0
- package/CountryFlags/FK.d.ts +3 -0
- package/CountryFlags/FK.js +43 -0
- package/CountryFlags/FM.d.ts +3 -0
- package/CountryFlags/FM.js +31 -0
- package/CountryFlags/FO.d.ts +3 -0
- package/CountryFlags/FO.js +31 -0
- package/CountryFlags/FR.d.ts +3 -0
- package/CountryFlags/FR.js +31 -0
- package/CountryFlags/GA.d.ts +3 -0
- package/CountryFlags/GA.js +31 -0
- package/CountryFlags/GB.d.ts +3 -0
- package/CountryFlags/GB.js +36 -0
- package/CountryFlags/GD.d.ts +3 -0
- package/CountryFlags/GD.js +38 -0
- package/CountryFlags/GE.d.ts +3 -0
- package/CountryFlags/GE.js +31 -0
- package/CountryFlags/GEAB.d.ts +3 -0
- package/CountryFlags/GEAB.js +40 -0
- package/CountryFlags/GEOS.d.ts +3 -0
- package/CountryFlags/GEOS.js +31 -0
- package/CountryFlags/GF.d.ts +3 -0
- package/CountryFlags/GF.js +31 -0
- package/CountryFlags/GG.d.ts +3 -0
- package/CountryFlags/GG.js +31 -0
- package/CountryFlags/GH.d.ts +3 -0
- package/CountryFlags/GH.js +32 -0
- package/CountryFlags/GI.d.ts +3 -0
- package/CountryFlags/GI.js +34 -0
- package/CountryFlags/GL.d.ts +3 -0
- package/CountryFlags/GL.js +32 -0
- package/CountryFlags/GM.d.ts +3 -0
- package/CountryFlags/GM.js +32 -0
- package/CountryFlags/GN.d.ts +3 -0
- package/CountryFlags/GN.js +31 -0
- package/CountryFlags/GP.d.ts +3 -0
- package/CountryFlags/GP.js +31 -0
- package/CountryFlags/GQ.d.ts +3 -0
- package/CountryFlags/GQ.js +37 -0
- package/CountryFlags/GR.d.ts +3 -0
- package/CountryFlags/GR.js +35 -0
- package/CountryFlags/GS.d.ts +3 -0
- package/CountryFlags/GS.js +49 -0
- package/CountryFlags/GT.d.ts +3 -0
- package/CountryFlags/GT.js +33 -0
- package/CountryFlags/GU.d.ts +3 -0
- package/CountryFlags/GU.js +37 -0
- package/CountryFlags/GW.d.ts +3 -0
- package/CountryFlags/GW.js +32 -0
- package/CountryFlags/GY.d.ts +3 -0
- package/CountryFlags/GY.js +33 -0
- package/CountryFlags/HK.d.ts +3 -0
- package/CountryFlags/HK.js +32 -0
- package/CountryFlags/HM.d.ts +3 -0
- package/CountryFlags/HM.js +41 -0
- package/CountryFlags/HN.d.ts +3 -0
- package/CountryFlags/HN.js +31 -0
- package/CountryFlags/HR.d.ts +3 -0
- package/CountryFlags/HR.js +38 -0
- package/CountryFlags/HT.d.ts +3 -0
- package/CountryFlags/HT.js +36 -0
- package/CountryFlags/HU.d.ts +3 -0
- package/CountryFlags/HU.js +31 -0
- package/CountryFlags/IC.d.ts +3 -0
- package/CountryFlags/IC.js +31 -0
- package/CountryFlags/ID.d.ts +3 -0
- package/CountryFlags/ID.js +30 -0
- package/CountryFlags/IE.d.ts +3 -0
- package/CountryFlags/IE.js +31 -0
- package/CountryFlags/IL.d.ts +3 -0
- package/CountryFlags/IL.js +31 -0
- package/CountryFlags/IM.d.ts +3 -0
- package/CountryFlags/IM.js +31 -0
- package/CountryFlags/IN.d.ts +3 -0
- package/CountryFlags/IN.js +35 -0
- package/CountryFlags/IO.d.ts +3 -0
- package/CountryFlags/IO.js +41 -0
- package/CountryFlags/IQ.d.ts +3 -0
- package/CountryFlags/IQ.js +33 -0
- package/CountryFlags/IR.d.ts +3 -0
- package/CountryFlags/IR.js +34 -0
- package/CountryFlags/IS.d.ts +3 -0
- package/CountryFlags/IS.js +31 -0
- package/CountryFlags/IT.d.ts +3 -0
- package/CountryFlags/IT.js +31 -0
- package/CountryFlags/JE.d.ts +3 -0
- package/CountryFlags/JE.js +32 -0
- package/CountryFlags/JM.d.ts +3 -0
- package/CountryFlags/JM.js +32 -0
- package/CountryFlags/JO.d.ts +3 -0
- package/CountryFlags/JO.js +33 -0
- package/CountryFlags/JP.d.ts +3 -0
- package/CountryFlags/JP.js +30 -0
- package/CountryFlags/KE.d.ts +3 -0
- package/CountryFlags/KE.js +38 -0
- package/CountryFlags/KG.d.ts +3 -0
- package/CountryFlags/KG.js +35 -0
- package/CountryFlags/KH.d.ts +3 -0
- package/CountryFlags/KH.js +32 -0
- package/CountryFlags/KI.d.ts +3 -0
- package/CountryFlags/KI.js +35 -0
- package/CountryFlags/KM.d.ts +3 -0
- package/CountryFlags/KM.js +37 -0
- package/CountryFlags/KN.d.ts +3 -0
- package/CountryFlags/KN.js +34 -0
- package/CountryFlags/KP.d.ts +3 -0
- package/CountryFlags/KP.js +35 -0
- package/CountryFlags/KR.d.ts +3 -0
- package/CountryFlags/KR.js +38 -0
- package/CountryFlags/KW.d.ts +3 -0
- package/CountryFlags/KW.js +32 -0
- package/CountryFlags/KY.d.ts +3 -0
- package/CountryFlags/KY.js +41 -0
- package/CountryFlags/KZ.d.ts +3 -0
- package/CountryFlags/KZ.js +31 -0
- package/CountryFlags/LA.d.ts +3 -0
- package/CountryFlags/LA.js +32 -0
- package/CountryFlags/LB.d.ts +3 -0
- package/CountryFlags/LB.js +33 -0
- package/CountryFlags/LC.d.ts +3 -0
- package/CountryFlags/LC.js +32 -0
- package/CountryFlags/LI.d.ts +3 -0
- package/CountryFlags/LI.js +31 -0
- package/CountryFlags/LK.d.ts +3 -0
- package/CountryFlags/LK.js +36 -0
- package/CountryFlags/LR.d.ts +3 -0
- package/CountryFlags/LR.js +33 -0
- package/CountryFlags/LS.d.ts +3 -0
- package/CountryFlags/LS.js +33 -0
- package/CountryFlags/LT.d.ts +3 -0
- package/CountryFlags/LT.js +31 -0
- package/CountryFlags/LU.d.ts +3 -0
- package/CountryFlags/LU.js +31 -0
- package/CountryFlags/LV.d.ts +3 -0
- package/CountryFlags/LV.js +31 -0
- package/CountryFlags/LY.d.ts +3 -0
- package/CountryFlags/LY.js +34 -0
- package/CountryFlags/MA.d.ts +3 -0
- package/CountryFlags/MA.js +30 -0
- package/CountryFlags/MC.d.ts +3 -0
- package/CountryFlags/MC.js +30 -0
- package/CountryFlags/MD.d.ts +3 -0
- package/CountryFlags/MD.js +32 -0
- package/CountryFlags/ME.d.ts +3 -0
- package/CountryFlags/ME.js +32 -0
- package/CountryFlags/MF.d.ts +3 -0
- package/CountryFlags/MF.js +33 -0
- package/CountryFlags/MG.d.ts +3 -0
- package/CountryFlags/MG.js +31 -0
- package/CountryFlags/MH.d.ts +3 -0
- package/CountryFlags/MH.js +32 -0
- package/CountryFlags/MK.d.ts +3 -0
- package/CountryFlags/MK.js +33 -0
- package/CountryFlags/ML.d.ts +3 -0
- package/CountryFlags/ML.js +31 -0
- package/CountryFlags/MM.d.ts +3 -0
- package/CountryFlags/MM.js +32 -0
- package/CountryFlags/MN.d.ts +3 -0
- package/CountryFlags/MN.js +37 -0
- package/CountryFlags/MO.d.ts +3 -0
- package/CountryFlags/MO.js +34 -0
- package/CountryFlags/MP.d.ts +3 -0
- package/CountryFlags/MP.js +35 -0
- package/CountryFlags/MQ.d.ts +3 -0
- package/CountryFlags/MQ.js +32 -0
- package/CountryFlags/MR.d.ts +3 -0
- package/CountryFlags/MR.js +32 -0
- package/CountryFlags/MS.d.ts +3 -0
- package/CountryFlags/MS.js +40 -0
- package/CountryFlags/MT.d.ts +3 -0
- package/CountryFlags/MT.js +31 -0
- package/CountryFlags/MU.d.ts +3 -0
- package/CountryFlags/MU.js +32 -0
- package/CountryFlags/MV.d.ts +3 -0
- package/CountryFlags/MV.js +31 -0
- package/CountryFlags/MW.d.ts +3 -0
- package/CountryFlags/MW.js +32 -0
- package/CountryFlags/MX.d.ts +3 -0
- package/CountryFlags/MX.js +33 -0
- package/CountryFlags/MY.d.ts +3 -0
- package/CountryFlags/MY.js +33 -0
- package/CountryFlags/MZ.d.ts +3 -0
- package/CountryFlags/MZ.js +34 -0
- package/CountryFlags/NA.d.ts +3 -0
- package/CountryFlags/NA.js +33 -0
- package/CountryFlags/NC.d.ts +3 -0
- package/CountryFlags/NC.js +38 -0
- package/CountryFlags/NE.d.ts +3 -0
- package/CountryFlags/NE.js +32 -0
- package/CountryFlags/NF.d.ts +3 -0
- package/CountryFlags/NF.js +31 -0
- package/CountryFlags/NG.d.ts +3 -0
- package/CountryFlags/NG.js +31 -0
- package/CountryFlags/NI.d.ts +3 -0
- package/CountryFlags/NI.js +35 -0
- package/CountryFlags/NL.d.ts +3 -0
- package/CountryFlags/NL.js +31 -0
- package/CountryFlags/NO.d.ts +3 -0
- package/CountryFlags/NO.js +31 -0
- package/CountryFlags/NP.d.ts +3 -0
- package/CountryFlags/NP.js +34 -0
- package/CountryFlags/NR.d.ts +3 -0
- package/CountryFlags/NR.js +31 -0
- package/CountryFlags/NU.d.ts +3 -0
- package/CountryFlags/NU.js +53 -0
- package/CountryFlags/NZ.d.ts +3 -0
- package/CountryFlags/NZ.js +41 -0
- package/CountryFlags/OM.d.ts +3 -0
- package/CountryFlags/OM.js +34 -0
- package/CountryFlags/PA.d.ts +3 -0
- package/CountryFlags/PA.js +33 -0
- package/CountryFlags/PE.d.ts +3 -0
- package/CountryFlags/PE.js +31 -0
- package/CountryFlags/PF.d.ts +3 -0
- package/CountryFlags/PF.js +35 -0
- package/CountryFlags/PG.d.ts +3 -0
- package/CountryFlags/PG.js +33 -0
- package/CountryFlags/PH.d.ts +3 -0
- package/CountryFlags/PH.js +33 -0
- package/CountryFlags/PK.d.ts +3 -0
- package/CountryFlags/PK.js +34 -0
- package/CountryFlags/PL.d.ts +3 -0
- package/CountryFlags/PL.js +32 -0
- package/CountryFlags/PM.d.ts +3 -0
- package/CountryFlags/PM.js +32 -0
- package/CountryFlags/PN.d.ts +3 -0
- package/CountryFlags/PN.js +43 -0
- package/CountryFlags/PR.d.ts +3 -0
- package/CountryFlags/PR.js +33 -0
- package/CountryFlags/PS.d.ts +3 -0
- package/CountryFlags/PS.js +32 -0
- package/CountryFlags/PT.d.ts +3 -0
- package/CountryFlags/PT.js +33 -0
- package/CountryFlags/PW.d.ts +3 -0
- package/CountryFlags/PW.js +30 -0
- package/CountryFlags/PY.d.ts +3 -0
- package/CountryFlags/PY.js +33 -0
- package/CountryFlags/QA.d.ts +3 -0
- package/CountryFlags/QA.js +30 -0
- package/CountryFlags/RE.d.ts +3 -0
- package/CountryFlags/RE.js +32 -0
- package/CountryFlags/RO.d.ts +3 -0
- package/CountryFlags/RO.js +31 -0
- package/CountryFlags/RS.d.ts +3 -0
- package/CountryFlags/RS.js +35 -0
- package/CountryFlags/RU.d.ts +3 -0
- package/CountryFlags/RU.js +32 -0
- package/CountryFlags/RW.d.ts +3 -0
- package/CountryFlags/RW.js +32 -0
- package/CountryFlags/SA.d.ts +3 -0
- package/CountryFlags/SA.js +33 -0
- package/CountryFlags/SB.d.ts +3 -0
- package/CountryFlags/SB.js +33 -0
- package/CountryFlags/SC.d.ts +3 -0
- package/CountryFlags/SC.js +33 -0
- package/CountryFlags/SD.d.ts +3 -0
- package/CountryFlags/SD.js +32 -0
- package/CountryFlags/SE.d.ts +3 -0
- package/CountryFlags/SE.js +30 -0
- package/CountryFlags/SG.d.ts +3 -0
- package/CountryFlags/SG.js +33 -0
- package/CountryFlags/SH.d.ts +3 -0
- package/CountryFlags/SH.js +43 -0
- package/CountryFlags/SI.d.ts +3 -0
- package/CountryFlags/SI.js +34 -0
- package/CountryFlags/SJ.d.ts +3 -0
- package/CountryFlags/SJ.js +31 -0
- package/CountryFlags/SK.d.ts +3 -0
- package/CountryFlags/SK.js +35 -0
- package/CountryFlags/SL.d.ts +3 -0
- package/CountryFlags/SL.js +31 -0
- package/CountryFlags/SM.d.ts +3 -0
- package/CountryFlags/SM.js +35 -0
- package/CountryFlags/SN.d.ts +3 -0
- package/CountryFlags/SN.js +32 -0
- package/CountryFlags/SO.d.ts +3 -0
- package/CountryFlags/SO.js +30 -0
- package/CountryFlags/SR.d.ts +3 -0
- package/CountryFlags/SR.js +33 -0
- package/CountryFlags/SS.d.ts +3 -0
- package/CountryFlags/SS.js +34 -0
- package/CountryFlags/ST.d.ts +3 -0
- package/CountryFlags/ST.js +33 -0
- package/CountryFlags/SV.d.ts +3 -0
- package/CountryFlags/SV.js +34 -0
- package/CountryFlags/SX.d.ts +3 -0
- package/CountryFlags/SX.js +37 -0
- package/CountryFlags/SY.d.ts +3 -0
- package/CountryFlags/SY.js +33 -0
- package/CountryFlags/SZ.d.ts +3 -0
- package/CountryFlags/SZ.js +35 -0
- package/CountryFlags/TA.d.ts +3 -0
- package/CountryFlags/TA.js +47 -0
- package/CountryFlags/TC.d.ts +3 -0
- package/CountryFlags/TC.js +44 -0
- package/CountryFlags/TD.d.ts +3 -0
- package/CountryFlags/TD.js +31 -0
- package/CountryFlags/TF.d.ts +3 -0
- package/CountryFlags/TF.js +34 -0
- package/CountryFlags/TG.d.ts +3 -0
- package/CountryFlags/TG.js +33 -0
- package/CountryFlags/TH.d.ts +3 -0
- package/CountryFlags/TH.js +32 -0
- package/CountryFlags/TJ.d.ts +3 -0
- package/CountryFlags/TJ.js +33 -0
- package/CountryFlags/TK.d.ts +3 -0
- package/CountryFlags/TK.js +33 -0
- package/CountryFlags/TL.d.ts +3 -0
- package/CountryFlags/TL.js +32 -0
- package/CountryFlags/TM.d.ts +3 -0
- package/CountryFlags/TM.js +45 -0
- package/CountryFlags/TN.d.ts +3 -0
- package/CountryFlags/TN.js +33 -0
- package/CountryFlags/TO.d.ts +3 -0
- package/CountryFlags/TO.js +31 -0
- package/CountryFlags/TR.d.ts +3 -0
- package/CountryFlags/TR.js +30 -0
- package/CountryFlags/TT.d.ts +3 -0
- package/CountryFlags/TT.js +31 -0
- package/CountryFlags/TV.d.ts +3 -0
- package/CountryFlags/TV.js +36 -0
- package/CountryFlags/TW.d.ts +3 -0
- package/CountryFlags/TW.js +33 -0
- package/CountryFlags/TZ.d.ts +3 -0
- package/CountryFlags/TZ.js +32 -0
- package/CountryFlags/UA.d.ts +3 -0
- package/CountryFlags/UA.js +30 -0
- package/CountryFlags/UG.d.ts +3 -0
- package/CountryFlags/UG.js +35 -0
- package/CountryFlags/UM.d.ts +3 -0
- package/CountryFlags/UM.js +34 -0
- package/CountryFlags/US.d.ts +3 -0
- package/CountryFlags/US.js +34 -0
- package/CountryFlags/UY.d.ts +3 -0
- package/CountryFlags/UY.js +33 -0
- package/CountryFlags/UZ.d.ts +3 -0
- package/CountryFlags/UZ.js +35 -0
- package/CountryFlags/VA.d.ts +3 -0
- package/CountryFlags/VA.js +32 -0
- package/CountryFlags/VC.d.ts +3 -0
- package/CountryFlags/VC.js +32 -0
- package/CountryFlags/VE.d.ts +3 -0
- package/CountryFlags/VE.js +32 -0
- package/CountryFlags/VG.d.ts +3 -0
- package/CountryFlags/VG.js +45 -0
- package/CountryFlags/VI.d.ts +3 -0
- package/CountryFlags/VI.js +41 -0
- package/CountryFlags/VN.d.ts +3 -0
- package/CountryFlags/VN.js +30 -0
- package/CountryFlags/VU.d.ts +3 -0
- package/CountryFlags/VU.js +35 -0
- package/CountryFlags/WF.d.ts +3 -0
- package/CountryFlags/WF.js +33 -0
- package/CountryFlags/WS.d.ts +3 -0
- package/CountryFlags/WS.js +32 -0
- package/CountryFlags/XK.d.ts +3 -0
- package/CountryFlags/XK.js +32 -0
- package/CountryFlags/YE.d.ts +3 -0
- package/CountryFlags/YE.js +31 -0
- package/CountryFlags/YT.d.ts +3 -0
- package/CountryFlags/YT.js +35 -0
- package/CountryFlags/ZA.d.ts +3 -0
- package/CountryFlags/ZA.js +34 -0
- package/CountryFlags/ZM.d.ts +3 -0
- package/CountryFlags/ZM.js +33 -0
- package/CountryFlags/ZW.d.ts +3 -0
- package/CountryFlags/ZW.js +39 -0
- package/DatePicker/index.d.ts +3 -0
- package/DatePicker/index.js +8 -0
- package/ErrorBoundary/index.d.ts +19 -0
- package/ErrorBoundary/index.js +78 -0
- package/Image/index.d.ts +7 -0
- package/Image/index.js +45 -0
- package/MaskedField/index.d.ts +33 -0
- package/MaskedField/index.js +63 -0
- package/MaskedField/templates.d.ts +11 -0
- package/MaskedField/templates.js +81 -0
- package/MaskedField/useMasked.d.ts +18 -0
- package/MaskedField/useMasked.js +96 -0
- package/Menu/MenuItem.d.ts +10 -0
- package/Menu/MenuItem.js +47 -0
- package/Menu/MenuItemInner.d.ts +7 -0
- package/Menu/MenuItemInner.js +48 -0
- package/Menu/MenuWrapper.d.ts +10 -0
- package/Menu/MenuWrapper.js +76 -0
- package/Menu/index.d.ts +196 -0
- package/Menu/index.js +452 -0
- package/Menu/popper-options.d.ts +4 -0
- package/Menu/popper-options.js +33 -0
- package/Menu/reducer.d.ts +14 -0
- package/Menu/reducer.js +19 -0
- package/Modal/CloseIcon.d.ts +3 -0
- package/Modal/CloseIcon.js +37 -0
- package/Modal/ModalConfirmBox.d.ts +9 -0
- package/Modal/ModalConfirmBox.js +148 -0
- package/Modal/ModalDialog.d.ts +7 -0
- package/Modal/ModalDialog.js +99 -0
- package/Modal/ModalDrawer.d.ts +11 -0
- package/Modal/ModalDrawer.js +150 -0
- package/Modal/ModalMessageBox.d.ts +8 -0
- package/Modal/ModalMessageBox.js +147 -0
- package/Modal/index.d.ts +12 -0
- package/Modal/index.js +54 -0
- package/NoSSR/index.d.ts +7 -0
- package/NoSSR/index.js +15 -0
- package/PhoneField/CountryFlagComponent.d.ts +6 -0
- package/PhoneField/CountryFlagComponent.js +44 -0
- package/PhoneField/UnknownFlag.d.ts +3 -0
- package/PhoneField/UnknownFlag.js +34 -0
- package/PhoneField/index.d.ts +54 -0
- package/PhoneField/index.js +97 -0
- package/PhoneField/templates.d.ts +82 -0
- package/PhoneField/templates.js +45 -0
- package/PhoneField/usePhoneUtils.d.ts +69 -0
- package/PhoneField/usePhoneUtils.js +172 -0
- package/README.md +12 -10
- package/SelectBox/IconChevronDown.d.ts +3 -0
- package/SelectBox/IconChevronDown.js +9 -0
- package/SelectBox/SelectButton.d.ts +10 -0
- package/SelectBox/SelectButton.js +78 -0
- package/SelectBox/index.d.ts +40 -0
- package/SelectBox/index.js +188 -0
- package/SelectBox/popper-options.d.ts +4 -0
- package/SelectBox/popper-options.js +33 -0
- package/Surface/SurfaceContainer.d.ts +8 -0
- package/Surface/SurfaceContainer.js +39 -0
- package/Surface/SurfaceContent.d.ts +8 -0
- package/Surface/SurfaceContent.js +31 -0
- package/Surface/SurfaceHeader.d.ts +4 -0
- package/Surface/SurfaceHeader.js +30 -0
- package/Surface/SurfaceSubheader.d.ts +4 -0
- package/Surface/SurfaceSubheader.js +29 -0
- package/Surface/index.d.ts +62 -0
- package/Surface/index.js +61 -0
- package/Table/Table.d.ts +8 -0
- package/Table/Table.js +46 -0
- package/Table/TableBody.d.ts +4 -0
- package/Table/TableBody.js +30 -0
- package/Table/TableCaption.d.ts +4 -0
- package/Table/TableCaption.js +30 -0
- package/Table/TableCell.d.ts +4 -0
- package/Table/TableCell.js +31 -0
- package/Table/TableFooter.d.ts +4 -0
- package/Table/TableFooter.js +36 -0
- package/Table/TableHeader.d.ts +4 -0
- package/Table/TableHeader.js +30 -0
- package/Table/TableHeaderCell.d.ts +4 -0
- package/Table/TableHeaderCell.js +35 -0
- package/Table/TableRow.d.ts +4 -0
- package/Table/TableRow.js +30 -0
- package/Table/index.d.ts +18 -0
- package/Table/index.js +45 -0
- package/TextField/TextFieldContainer.d.ts +8 -0
- package/TextField/TextFieldContainer.js +52 -0
- package/TextField/TextFieldErrorText.d.ts +7 -0
- package/TextField/TextFieldErrorText.js +75 -0
- package/TextField/TextFieldIconWrapper.d.ts +18 -0
- package/TextField/TextFieldIconWrapper.js +73 -0
- package/TextField/TextFieldInput.d.ts +7 -0
- package/TextField/TextFieldInput.js +71 -0
- package/TextField/TextFieldInputWrapper.d.ts +14 -0
- package/TextField/TextFieldInputWrapper.js +76 -0
- package/TextField/TextFieldLabel.d.ts +7 -0
- package/TextField/TextFieldLabel.js +50 -0
- package/TextField/TextFieldLabelAsterisk.d.ts +13 -0
- package/TextField/TextFieldLabelAsterisk.js +51 -0
- package/TextField/index.d.ts +80 -0
- package/TextField/index.js +100 -0
- package/ThemeProvider/createTheme.d.ts +3 -0
- package/ThemeProvider/createTheme.js +46 -0
- package/ThemeProvider/index.d.ts +57 -0
- package/ThemeProvider/index.js +29 -0
- package/Typography/Base.d.ts +6 -0
- package/Typography/Base.js +12 -0
- package/Typography/Blockquote.d.ts +6 -0
- package/Typography/Blockquote.js +23 -0
- package/Typography/Del.d.ts +6 -0
- package/Typography/Del.js +11 -0
- package/Typography/Em.d.ts +6 -0
- package/Typography/Em.js +11 -0
- package/Typography/H1.d.ts +6 -0
- package/Typography/H1.js +12 -0
- package/Typography/H2.d.ts +6 -0
- package/Typography/H2.js +12 -0
- package/Typography/H3.d.ts +6 -0
- package/Typography/H3.js +12 -0
- package/Typography/H4.d.ts +6 -0
- package/Typography/H4.js +12 -0
- package/Typography/H5.d.ts +6 -0
- package/Typography/H5.js +12 -0
- package/Typography/List.d.ts +14 -0
- package/Typography/List.js +32 -0
- package/Typography/Paragraph.d.ts +14 -0
- package/Typography/Paragraph.js +52 -0
- package/Typography/SectionDescription.d.ts +7 -0
- package/Typography/SectionDescription.js +17 -0
- package/Typography/SectionTitle.d.ts +8 -0
- package/Typography/SectionTitle.js +31 -0
- package/Typography/Span.d.ts +6 -0
- package/Typography/Span.js +11 -0
- package/Typography/Strong.d.ts +6 -0
- package/Typography/Strong.js +11 -0
- package/Typography/U.d.ts +6 -0
- package/Typography/U.js +10 -0
- package/Typography/index.d.ts +3 -0
- package/Typography/index.js +22 -0
- package/index.d.ts +1 -0
- package/index.js +1 -7
- package/package.json +3 -9
package/Menu/index.d.ts
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { VariableSizeList as VirtualizedList } from 'react-window';
|
|
3
|
+
import options from './popper-options';
|
|
4
|
+
export interface MenuProps<T, Multiple extends boolean | undefined = undefined> {
|
|
5
|
+
/**
|
|
6
|
+
* List of items
|
|
7
|
+
*/
|
|
8
|
+
readonly items: readonly T[];
|
|
9
|
+
/**
|
|
10
|
+
* Current value\
|
|
11
|
+
* If `Menu` component has `multiple` property then value must be an array of items
|
|
12
|
+
*/
|
|
13
|
+
readonly value: Value<T, Multiple> | null;
|
|
14
|
+
/**
|
|
15
|
+
* Estimated item height. Need to calculate menu height\
|
|
16
|
+
* \
|
|
17
|
+
* **Default**: `50`
|
|
18
|
+
*/
|
|
19
|
+
readonly estimatedItemSize?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Menu open state
|
|
22
|
+
*/
|
|
23
|
+
readonly isOpen?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The threshold is the number of items from the end of the list,
|
|
26
|
+
* upon reaching which the additional loading of new items will begin\
|
|
27
|
+
* \
|
|
28
|
+
* **Default**: `10`
|
|
29
|
+
*/
|
|
30
|
+
readonly endThreshold?: number;
|
|
31
|
+
/**
|
|
32
|
+
* The thresholdPercent is the persont of items from the end of the list in percents value\
|
|
33
|
+
* Dependent of `onEndReached` property\
|
|
34
|
+
* \
|
|
35
|
+
* **Default**: `30`
|
|
36
|
+
*/
|
|
37
|
+
readonly thresholdPercent?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Autofocus list after menu open\
|
|
40
|
+
* Dependent of `onEndReached` property\
|
|
41
|
+
* \
|
|
42
|
+
* **Default**: `true`
|
|
43
|
+
*/
|
|
44
|
+
readonly autofocus?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* tabindex property for the list. Tabindex is required to be able to set focus on a list item\
|
|
47
|
+
* \
|
|
48
|
+
* **Default**: `-1`
|
|
49
|
+
*/
|
|
50
|
+
readonly tabIndex?: number;
|
|
51
|
+
/**
|
|
52
|
+
* The delay in milliseconds before the focus moves to the list at the time of its opening.\
|
|
53
|
+
* Used only if `autofocus` property is true\
|
|
54
|
+
* \
|
|
55
|
+
* **Default**: `250`
|
|
56
|
+
*/
|
|
57
|
+
readonly autofocusDelay?: number;
|
|
58
|
+
/**
|
|
59
|
+
* The number of items to render outside of the visible area. This property can be important for two reasons:
|
|
60
|
+
*
|
|
61
|
+
* - Overscanning by one row allows the tab key to focus on the next (not yet visible) item.
|
|
62
|
+
* - Overscanning slightly can reduce or prevent a flash of empty space when a user first starts scrolling.
|
|
63
|
+
*
|
|
64
|
+
* Note that overscanning too much can negatively impact performance.\
|
|
65
|
+
* \
|
|
66
|
+
* **Default**: `1`
|
|
67
|
+
*/
|
|
68
|
+
readonly overscanCount?: number;
|
|
69
|
+
/**
|
|
70
|
+
* An HTML element. It's used to set the position of the menu.
|
|
71
|
+
*/
|
|
72
|
+
readonly anchorElement: HTMLElement | null;
|
|
73
|
+
/**
|
|
74
|
+
* Close list if click outside of list\
|
|
75
|
+
* \
|
|
76
|
+
* **Default**: `true`
|
|
77
|
+
*/
|
|
78
|
+
readonly closeOutsideClick?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Allow the multiple selection
|
|
81
|
+
*/
|
|
82
|
+
readonly multiple?: Multiple;
|
|
83
|
+
/**
|
|
84
|
+
* z-index property\
|
|
85
|
+
* \
|
|
86
|
+
* **Default**: `1`
|
|
87
|
+
*/
|
|
88
|
+
readonly zIndex?: number;
|
|
89
|
+
/**
|
|
90
|
+
* @popperjs/core component options\
|
|
91
|
+
* \
|
|
92
|
+
* **Default**: used special preset
|
|
93
|
+
*/
|
|
94
|
+
readonly popperOptions?: typeof options;
|
|
95
|
+
/**
|
|
96
|
+
* An element for the React.createPortal node\
|
|
97
|
+
* \
|
|
98
|
+
* **Default**: `document.body`
|
|
99
|
+
*/
|
|
100
|
+
readonly portalNode?: (() => HTMLElement) | HTMLElement;
|
|
101
|
+
/**
|
|
102
|
+
* The reference of the outer list HTML element
|
|
103
|
+
*/
|
|
104
|
+
readonly outerRef?: React.MutableRefObject<OuterListType | null>;
|
|
105
|
+
/**
|
|
106
|
+
* The API reference of the virtualized list
|
|
107
|
+
*/
|
|
108
|
+
readonly listRef?: React.MutableRefObject<VirtualizedListType<T> | null>;
|
|
109
|
+
/**
|
|
110
|
+
* A function that determines which of the elements is currently selected
|
|
111
|
+
*/
|
|
112
|
+
readonly getOptionSelected?: GetOptionSelected<T>;
|
|
113
|
+
/**
|
|
114
|
+
* The function that will be called when the list reaches the end
|
|
115
|
+
*/
|
|
116
|
+
readonly onEndReached?: () => void;
|
|
117
|
+
/**
|
|
118
|
+
* Called when item selected
|
|
119
|
+
*/
|
|
120
|
+
readonly onSelectItem?: OnSelectItem<T, Multiple>;
|
|
121
|
+
/**
|
|
122
|
+
* A function that renders each list item
|
|
123
|
+
*/
|
|
124
|
+
readonly renderItem?: RenderItem<T>;
|
|
125
|
+
/**
|
|
126
|
+
* The function that will be called at the moment when you want to close the menu
|
|
127
|
+
*/
|
|
128
|
+
readonly onRequestClose: OnRequestClose;
|
|
129
|
+
}
|
|
130
|
+
export type MenuRef<T> = {
|
|
131
|
+
/**
|
|
132
|
+
* Scroll to specified item index
|
|
133
|
+
*/
|
|
134
|
+
scrollToItem: VirtualizedListType<T>['scrollToItem'];
|
|
135
|
+
/**
|
|
136
|
+
* Scroll by offset (px)
|
|
137
|
+
*/
|
|
138
|
+
scrollTo: VirtualizedListType<T>['scrollTo'];
|
|
139
|
+
/**
|
|
140
|
+
* Scroll list to first of selected item
|
|
141
|
+
*/
|
|
142
|
+
scrollToFirstSelected: () => void;
|
|
143
|
+
/**
|
|
144
|
+
* Select specified item by index
|
|
145
|
+
*/
|
|
146
|
+
selectItem: (index: number) => void;
|
|
147
|
+
/**
|
|
148
|
+
* Hightlight specified item by index
|
|
149
|
+
*/
|
|
150
|
+
highlightIndex: (index: number) => void;
|
|
151
|
+
/**
|
|
152
|
+
* Highlight the previous item relative to the currently highlighted one
|
|
153
|
+
*/
|
|
154
|
+
hightlightPrevItem: () => void;
|
|
155
|
+
/**
|
|
156
|
+
* Highlight the next item relative to the currently highlighted one
|
|
157
|
+
*/
|
|
158
|
+
hightlightNextItem: () => void;
|
|
159
|
+
/**
|
|
160
|
+
* Highlight the first item in list
|
|
161
|
+
*/
|
|
162
|
+
hightlightFirstItem: () => void;
|
|
163
|
+
/**
|
|
164
|
+
* Highlight the last item in list
|
|
165
|
+
*/
|
|
166
|
+
hightlightLastItem: () => void;
|
|
167
|
+
/**
|
|
168
|
+
* Select hightlighted item
|
|
169
|
+
*/
|
|
170
|
+
selectHightlightedItem: () => void;
|
|
171
|
+
/**
|
|
172
|
+
* Force re-render popper element
|
|
173
|
+
*/
|
|
174
|
+
updatePopper: () => void;
|
|
175
|
+
/**
|
|
176
|
+
* Force set focus to list
|
|
177
|
+
*/
|
|
178
|
+
focus: () => void;
|
|
179
|
+
};
|
|
180
|
+
export type VirtualizedListType<T> = VirtualizedList<T>;
|
|
181
|
+
export type OuterListType = HTMLDivElement;
|
|
182
|
+
export type Value<T, Multiple> = Multiple extends undefined | undefined ? T : readonly T[];
|
|
183
|
+
export type GetOptionSelected<T> = (payload: {
|
|
184
|
+
readonly item: T;
|
|
185
|
+
readonly value: T;
|
|
186
|
+
}) => boolean;
|
|
187
|
+
export type RenderItem<T> = (payload: {
|
|
188
|
+
readonly item: T;
|
|
189
|
+
readonly index: number;
|
|
190
|
+
}) => React.ReactNode;
|
|
191
|
+
export type OnSelectItem<T, Multiple extends boolean | undefined = undefined> = (value: Value<T, Multiple>) => void;
|
|
192
|
+
export type OnRequestClose = (event?: React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement> | KeyboardEvent | MouseEvent) => void;
|
|
193
|
+
declare const _default: <T, Multiple extends boolean | undefined = undefined>(props: MenuProps<T, Multiple> & {
|
|
194
|
+
ref?: React.Ref<MenuRef<T>> | undefined;
|
|
195
|
+
}) => JSX.Element;
|
|
196
|
+
export default _default;
|
package/Menu/index.js
ADDED
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const react_1 = __importDefault(require("react"));
|
|
30
|
+
const react_dom_1 = __importDefault(require("react-dom"));
|
|
31
|
+
const react_window_1 = require("react-window");
|
|
32
|
+
const react_popper_1 = require("react-popper");
|
|
33
|
+
const popper_options_1 = __importDefault(require("./popper-options"));
|
|
34
|
+
const MenuItem_1 = __importDefault(require("./MenuItem"));
|
|
35
|
+
const MenuWrapper_1 = __importDefault(require("./MenuWrapper"));
|
|
36
|
+
const reducer_1 = __importStar(require("./reducer"));
|
|
37
|
+
const Menu = react_1.default.forwardRef((props, ref) => {
|
|
38
|
+
const { items, value, isOpen, estimatedItemSize = 30, endThreshold = 10, thresholdPercent = 30, autofocusDelay = 250, autofocus = true, closeOutsideClick = true, overscanCount = 1, zIndex = 1, tabIndex = -1, portalNode = typeof window !== 'undefined' ? window.document.body : undefined, outerRef, listRef, anchorElement, multiple, popperOptions, onSelectItem, onEndReached, getOptionSelected, renderItem, onRequestClose, } = props;
|
|
39
|
+
const getSelectedIndexes = react_1.default.useCallback(() => {
|
|
40
|
+
const idx = new Set();
|
|
41
|
+
if (typeof value === 'object' && value !== null) {
|
|
42
|
+
if (typeof getOptionSelected === 'function') {
|
|
43
|
+
if (Array.isArray(value)) {
|
|
44
|
+
value.forEach(v => {
|
|
45
|
+
idx.add(items.findIndex(item => getOptionSelected({ item, value: v })));
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (!Array.isArray(value)) {
|
|
49
|
+
idx.add(items.findIndex(item => getOptionSelected({ item, value: value })));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (Array.isArray(value)) {
|
|
53
|
+
value.forEach(v => {
|
|
54
|
+
idx.add(items.findIndex(item => JSON.stringify(item) === JSON.stringify(v)));
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
idx.add(items.findIndex(item => JSON.stringify(item) === JSON.stringify(value)));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return [...idx];
|
|
62
|
+
}, [getOptionSelected, items, value]);
|
|
63
|
+
const [domLoaded, setDomLoaded] = react_1.default.useState(false);
|
|
64
|
+
const [menuIsOpen, setMenuOpen] = react_1.default.useState(Boolean(isOpen));
|
|
65
|
+
const [currentAnchorElement, setAnchorElement] = react_1.default.useState(anchorElement);
|
|
66
|
+
const isOpenRef = react_1.default.useRef(menuIsOpen);
|
|
67
|
+
const dimensionsRef = react_1.default.useRef({ width: 0, height: 0 });
|
|
68
|
+
const sizeMapRef = react_1.default.useRef(new Map());
|
|
69
|
+
const listVirtRef = react_1.default.useRef(null);
|
|
70
|
+
const listOuterRef = react_1.default.useRef(null);
|
|
71
|
+
const menuWrapperRef = react_1.default.useRef(null);
|
|
72
|
+
const [{ selectedIndexes, markedIndex, hoveredIndex }, dispatch] = react_1.default.useReducer(reducer_1.default, Object.assign(Object.assign({}, reducer_1.defaultState), { selectedIndexes: getSelectedIndexes(), markedIndex: -1 }));
|
|
73
|
+
const selectedIndexesRef = react_1.default.useRef(selectedIndexes);
|
|
74
|
+
const [popperElement, setPopperElement] = react_1.default.useState(null);
|
|
75
|
+
const timeoutRef = react_1.default.useRef(null);
|
|
76
|
+
const { styles, attributes, forceUpdate } = (0, react_popper_1.usePopper)(currentAnchorElement, popperElement, popperOptions || popper_options_1.default);
|
|
77
|
+
/**
|
|
78
|
+
* Client render detection
|
|
79
|
+
*/
|
|
80
|
+
react_1.default.useEffect(() => {
|
|
81
|
+
setDomLoaded(true);
|
|
82
|
+
}, []);
|
|
83
|
+
/**
|
|
84
|
+
* Scroll to first of selected item
|
|
85
|
+
*/
|
|
86
|
+
const scrollToFirstSelected = react_1.default.useCallback(() => {
|
|
87
|
+
var _a;
|
|
88
|
+
const indexes = getSelectedIndexes();
|
|
89
|
+
// Sort array of indexes by DESC and get the index
|
|
90
|
+
const index = indexes.length ? [...indexes.sort()][0] : -1;
|
|
91
|
+
dispatch({
|
|
92
|
+
type: 'setMenuState',
|
|
93
|
+
payload: {
|
|
94
|
+
markedIndex: index,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
(_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index);
|
|
98
|
+
}, [getSelectedIndexes]);
|
|
99
|
+
/**
|
|
100
|
+
* Select specified item by index
|
|
101
|
+
*/
|
|
102
|
+
const selectItem = react_1.default.useCallback((index) => {
|
|
103
|
+
const item = items[index];
|
|
104
|
+
if (!item) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (typeof onSelectItem === 'function') {
|
|
108
|
+
// For multiple
|
|
109
|
+
if (multiple && Array.isArray(value)) {
|
|
110
|
+
const selItems = new Set(value);
|
|
111
|
+
if (selectedIndexes.includes(index)) {
|
|
112
|
+
selItems.delete(item);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
selItems.add(item);
|
|
116
|
+
}
|
|
117
|
+
onSelectItem([...selItems]);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
// For single
|
|
121
|
+
onSelectItem(item);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}, [items, onSelectItem, selectedIndexes, value, multiple]);
|
|
125
|
+
/**
|
|
126
|
+
* Highlight specified item by index
|
|
127
|
+
*/
|
|
128
|
+
const highlightIndex = react_1.default.useCallback((index) => {
|
|
129
|
+
dispatch({
|
|
130
|
+
type: 'setMenuState',
|
|
131
|
+
payload: {
|
|
132
|
+
markedIndex: items[index] ? index : -1,
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
}, [items]);
|
|
136
|
+
const hightlightPrevItem = react_1.default.useCallback(() => {
|
|
137
|
+
var _a;
|
|
138
|
+
const index = Math.max(markedIndex - 1, 0);
|
|
139
|
+
highlightIndex(index);
|
|
140
|
+
(_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index);
|
|
141
|
+
}, [markedIndex, highlightIndex]);
|
|
142
|
+
const hightlightNextItem = react_1.default.useCallback(() => {
|
|
143
|
+
var _a;
|
|
144
|
+
const index = Math.min(markedIndex + 1, items.length);
|
|
145
|
+
highlightIndex(index);
|
|
146
|
+
(_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index);
|
|
147
|
+
}, [markedIndex, items.length, highlightIndex]);
|
|
148
|
+
const hightlightFirstItem = react_1.default.useCallback(() => {
|
|
149
|
+
var _a;
|
|
150
|
+
const index = 0;
|
|
151
|
+
highlightIndex(index);
|
|
152
|
+
(_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index);
|
|
153
|
+
}, [highlightIndex]);
|
|
154
|
+
const hightlightLastItem = react_1.default.useCallback(() => {
|
|
155
|
+
var _a;
|
|
156
|
+
const index = items.length - 1;
|
|
157
|
+
highlightIndex(index);
|
|
158
|
+
(_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index);
|
|
159
|
+
}, [highlightIndex, items.length]);
|
|
160
|
+
const selectHightlightedItem = react_1.default.useCallback(() => {
|
|
161
|
+
if (markedIndex > -1) {
|
|
162
|
+
selectItem(markedIndex);
|
|
163
|
+
}
|
|
164
|
+
}, [markedIndex, selectItem]);
|
|
165
|
+
/**
|
|
166
|
+
* API
|
|
167
|
+
*/
|
|
168
|
+
react_1.default.useImperativeHandle(ref, () => ({
|
|
169
|
+
focus: () => { var _a; return (_a = menuWrapperRef.current) === null || _a === void 0 ? void 0 : _a.focus(); },
|
|
170
|
+
scrollToItem: (index, align) => { var _a; return (_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index, align); },
|
|
171
|
+
scrollTo: (scrollOffset) => { var _a; return (_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo(scrollOffset); },
|
|
172
|
+
scrollToFirstSelected,
|
|
173
|
+
selectItem: selectItem,
|
|
174
|
+
updatePopper: () => typeof forceUpdate === 'function' && forceUpdate(),
|
|
175
|
+
highlightIndex,
|
|
176
|
+
hightlightPrevItem,
|
|
177
|
+
hightlightNextItem,
|
|
178
|
+
hightlightFirstItem,
|
|
179
|
+
hightlightLastItem,
|
|
180
|
+
selectHightlightedItem,
|
|
181
|
+
}), [
|
|
182
|
+
scrollToFirstSelected,
|
|
183
|
+
selectItem,
|
|
184
|
+
highlightIndex,
|
|
185
|
+
hightlightPrevItem,
|
|
186
|
+
hightlightNextItem,
|
|
187
|
+
hightlightFirstItem,
|
|
188
|
+
hightlightLastItem,
|
|
189
|
+
selectHightlightedItem,
|
|
190
|
+
forceUpdate,
|
|
191
|
+
]);
|
|
192
|
+
/**
|
|
193
|
+
* To write row height (size in px) into the cached map
|
|
194
|
+
* and fire re-render action of virtualized list
|
|
195
|
+
*/
|
|
196
|
+
const setRowHeight = react_1.default.useCallback((index, height) => {
|
|
197
|
+
var _a;
|
|
198
|
+
sizeMapRef.current.set(index, height);
|
|
199
|
+
(_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.resetAfterIndex(index);
|
|
200
|
+
}, []);
|
|
201
|
+
/**
|
|
202
|
+
* Update achnor
|
|
203
|
+
*/
|
|
204
|
+
react_1.default.useEffect(() => {
|
|
205
|
+
if (anchorElement !== currentAnchorElement) {
|
|
206
|
+
setAnchorElement(anchorElement);
|
|
207
|
+
}
|
|
208
|
+
}, [anchorElement, currentAnchorElement]);
|
|
209
|
+
const dimensions = react_1.default.useMemo(() => {
|
|
210
|
+
const dimensions = Object.assign({}, dimensionsRef.current);
|
|
211
|
+
menuIsOpen;
|
|
212
|
+
const MAX_HEIGHT = 360;
|
|
213
|
+
const MIN_WIDTH = 200;
|
|
214
|
+
let size = 0;
|
|
215
|
+
for (let index = 0; index < items.length; index++) {
|
|
216
|
+
if (index > 60) {
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
size += sizeMapRef.current.get(index) || estimatedItemSize;
|
|
220
|
+
}
|
|
221
|
+
if (size > 0) {
|
|
222
|
+
dimensions.height = Math.min(size, MAX_HEIGHT);
|
|
223
|
+
}
|
|
224
|
+
if (currentAnchorElement) {
|
|
225
|
+
dimensions.width = Math.max(currentAnchorElement.getBoundingClientRect().width, MIN_WIDTH);
|
|
226
|
+
}
|
|
227
|
+
dimensionsRef.current = dimensions;
|
|
228
|
+
return dimensions;
|
|
229
|
+
}, [currentAnchorElement, items, estimatedItemSize, menuIsOpen]);
|
|
230
|
+
const onScroll = react_1.default.useCallback(({ scrollOffset, scrollDirection }) => {
|
|
231
|
+
if (typeof onEndReached !== 'function') {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
// Detect the end of the reached
|
|
235
|
+
if (listOuterRef.current && scrollDirection === 'forward') {
|
|
236
|
+
// The threshold is the number of items from the end of the list,
|
|
237
|
+
// upon reaching which the additional loading of new items will begin
|
|
238
|
+
const threshold = (endThreshold / 100) * thresholdPercent;
|
|
239
|
+
// const threshold = 10;
|
|
240
|
+
const offset = listOuterRef.current.scrollHeight - listOuterRef.current.clientHeight;
|
|
241
|
+
const lastItemsHeight = Array.from(items)
|
|
242
|
+
.slice(-threshold)
|
|
243
|
+
.reduce((totalHeight, _edge, index) => totalHeight + (sizeMapRef.current.get(index) || estimatedItemSize), 0);
|
|
244
|
+
if (scrollOffset >= offset - lastItemsHeight) {
|
|
245
|
+
onEndReached();
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}, [onEndReached, endThreshold, thresholdPercent, items, estimatedItemSize]);
|
|
249
|
+
/**
|
|
250
|
+
* Keyboard events of menu list container.
|
|
251
|
+
* Note: Moved selection up and down while keys pressed
|
|
252
|
+
*/
|
|
253
|
+
const listKeydownEvent = react_1.default.useCallback((event) => {
|
|
254
|
+
if (!menuIsOpen) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
switch (event.code) {
|
|
258
|
+
case 'Enter':
|
|
259
|
+
case 'NumpadEnter':
|
|
260
|
+
case 'Tab':
|
|
261
|
+
event.preventDefault();
|
|
262
|
+
if (markedIndex > -1) {
|
|
263
|
+
selectItem(markedIndex);
|
|
264
|
+
}
|
|
265
|
+
break;
|
|
266
|
+
case 'ArrowUp':
|
|
267
|
+
{
|
|
268
|
+
event.preventDefault();
|
|
269
|
+
hightlightPrevItem();
|
|
270
|
+
}
|
|
271
|
+
break;
|
|
272
|
+
case 'ArrowDown':
|
|
273
|
+
{
|
|
274
|
+
event.preventDefault();
|
|
275
|
+
hightlightNextItem();
|
|
276
|
+
}
|
|
277
|
+
break;
|
|
278
|
+
case 'Home':
|
|
279
|
+
{
|
|
280
|
+
event.preventDefault();
|
|
281
|
+
hightlightFirstItem();
|
|
282
|
+
}
|
|
283
|
+
break;
|
|
284
|
+
case 'End':
|
|
285
|
+
{
|
|
286
|
+
event.preventDefault();
|
|
287
|
+
hightlightLastItem();
|
|
288
|
+
}
|
|
289
|
+
break;
|
|
290
|
+
case 'PageUp':
|
|
291
|
+
case 'PageDown':
|
|
292
|
+
case 'Space':
|
|
293
|
+
event.preventDefault();
|
|
294
|
+
break;
|
|
295
|
+
case 'Escape':
|
|
296
|
+
event.preventDefault();
|
|
297
|
+
onRequestClose(event);
|
|
298
|
+
break;
|
|
299
|
+
default:
|
|
300
|
+
// do nothing
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
}, [
|
|
304
|
+
markedIndex,
|
|
305
|
+
menuIsOpen,
|
|
306
|
+
onRequestClose,
|
|
307
|
+
selectItem,
|
|
308
|
+
hightlightPrevItem,
|
|
309
|
+
hightlightNextItem,
|
|
310
|
+
hightlightFirstItem,
|
|
311
|
+
hightlightLastItem,
|
|
312
|
+
]);
|
|
313
|
+
/**
|
|
314
|
+
* Invoked `renderItem` function if that passed,
|
|
315
|
+
* otherwise used another render method
|
|
316
|
+
*/
|
|
317
|
+
const renderItemFn = react_1.default.useCallback(item => (typeof renderItem === 'function' ? renderItem(item) : JSON.stringify(item)), [renderItem]);
|
|
318
|
+
// eslint-disable-next-line arrow-body-style
|
|
319
|
+
react_1.default.useEffect(() => {
|
|
320
|
+
return () => {
|
|
321
|
+
if (timeoutRef.current) {
|
|
322
|
+
clearTimeout(timeoutRef.current);
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
}, []);
|
|
326
|
+
react_1.default.useEffect(() => {
|
|
327
|
+
const windowResizeEvent = (_event) => {
|
|
328
|
+
if (timeoutRef.current) {
|
|
329
|
+
clearTimeout(timeoutRef.current);
|
|
330
|
+
}
|
|
331
|
+
timeoutRef.current = setTimeout(() => {
|
|
332
|
+
if (forceUpdate) {
|
|
333
|
+
forceUpdate();
|
|
334
|
+
}
|
|
335
|
+
}, 100);
|
|
336
|
+
};
|
|
337
|
+
const mouseDownEvent = (event) => {
|
|
338
|
+
if (!menuIsOpen) {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
let parentElem = event.target;
|
|
342
|
+
let needToClose = true;
|
|
343
|
+
while (parentElem && 'parentNode' in parentElem) {
|
|
344
|
+
if (parentElem === popperElement) {
|
|
345
|
+
needToClose = false;
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
parentElem = parentElem.parentNode;
|
|
349
|
+
}
|
|
350
|
+
if (needToClose) {
|
|
351
|
+
onRequestClose(event);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
if (closeOutsideClick) {
|
|
355
|
+
window.document.addEventListener('mousedown', mouseDownEvent);
|
|
356
|
+
}
|
|
357
|
+
window.document.addEventListener('resize', windowResizeEvent);
|
|
358
|
+
return () => {
|
|
359
|
+
if (closeOutsideClick) {
|
|
360
|
+
window.document.removeEventListener('mousedown', mouseDownEvent);
|
|
361
|
+
}
|
|
362
|
+
window.document.removeEventListener('resize', windowResizeEvent);
|
|
363
|
+
};
|
|
364
|
+
}, [forceUpdate, menuIsOpen, popperElement, onRequestClose, closeOutsideClick]);
|
|
365
|
+
/**
|
|
366
|
+
* Toggle menu open
|
|
367
|
+
*/
|
|
368
|
+
react_1.default.useEffect(() => {
|
|
369
|
+
var _a;
|
|
370
|
+
if (isOpenRef.current !== isOpen) {
|
|
371
|
+
isOpenRef.current = Boolean(isOpen);
|
|
372
|
+
setMenuOpen(Boolean(isOpen));
|
|
373
|
+
if (isOpen) {
|
|
374
|
+
scrollToFirstSelected();
|
|
375
|
+
if (autofocus) {
|
|
376
|
+
setTimeout(() => {
|
|
377
|
+
var _a;
|
|
378
|
+
(_a = menuWrapperRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
379
|
+
}, autofocusDelay);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
// Reset indexes
|
|
383
|
+
if (!isOpen) {
|
|
384
|
+
(_a = listVirtRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(0);
|
|
385
|
+
dispatch({
|
|
386
|
+
type: 'setMenuState',
|
|
387
|
+
payload: {
|
|
388
|
+
markedIndex: -1,
|
|
389
|
+
hoveredIndex: -1,
|
|
390
|
+
},
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}, [
|
|
395
|
+
getSelectedIndexes,
|
|
396
|
+
scrollToFirstSelected,
|
|
397
|
+
isOpen,
|
|
398
|
+
autofocus,
|
|
399
|
+
popperElement,
|
|
400
|
+
autofocusDelay,
|
|
401
|
+
]);
|
|
402
|
+
/**
|
|
403
|
+
* Mark selected items by values
|
|
404
|
+
*/
|
|
405
|
+
react_1.default.useEffect(() => {
|
|
406
|
+
const indexes = getSelectedIndexes();
|
|
407
|
+
// If elements in selectedIndexesRef and indexes are not equale
|
|
408
|
+
if ((selectedIndexesRef.current.length === indexes.length &&
|
|
409
|
+
selectedIndexesRef.current.every(value => indexes.includes(value))) === false) {
|
|
410
|
+
selectedIndexesRef.current = indexes;
|
|
411
|
+
dispatch({
|
|
412
|
+
type: 'setMenuState',
|
|
413
|
+
payload: {
|
|
414
|
+
selectedIndexes: indexes,
|
|
415
|
+
},
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
}, [value, getSelectedIndexes]);
|
|
419
|
+
return !domLoaded
|
|
420
|
+
? null
|
|
421
|
+
: react_dom_1.default.createPortal(react_1.default.createElement("div", Object.assign({}, attributes.popper, { ref: setPopperElement, style: Object.assign(Object.assign({}, styles.popper), { zIndex }) }), menuIsOpen && (react_1.default.createElement(MenuWrapper_1.default, { isOpen: menuIsOpen, ref: menuWrapperRef, tabIndex: tabIndex, dimensions: dimensions, onKeyDown: listKeydownEvent },
|
|
422
|
+
react_1.default.createElement(react_window_1.VariableSizeList, { onScroll: onScroll, width: 300, height: 350, itemCount: items.length, overscanCount: overscanCount, itemSize: index => sizeMapRef.current.get(index) || estimatedItemSize, estimatedItemSize: estimatedItemSize, ref: elem => {
|
|
423
|
+
listVirtRef.current = elem;
|
|
424
|
+
if (listRef) {
|
|
425
|
+
listRef.current = elem;
|
|
426
|
+
}
|
|
427
|
+
}, outerRef: elem => {
|
|
428
|
+
listOuterRef.current = elem;
|
|
429
|
+
if (outerRef) {
|
|
430
|
+
outerRef.current = elem;
|
|
431
|
+
}
|
|
432
|
+
} }, ({ index, style }) => {
|
|
433
|
+
const item = items[index];
|
|
434
|
+
return (react_1.default.createElement(MenuItem_1.default, { index: index, style: style, setRowHeight: setRowHeight, selected: selectedIndexes.includes(index), hovered: hoveredIndex === index || markedIndex === index, onMouseEnter: () => {
|
|
435
|
+
if (index !== hoveredIndex) {
|
|
436
|
+
dispatch({
|
|
437
|
+
type: 'setMenuState',
|
|
438
|
+
payload: { hoveredIndex: index, markedIndex: -1 },
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
}, onMouseLeave: () => {
|
|
442
|
+
if (index === hoveredIndex) {
|
|
443
|
+
dispatch({
|
|
444
|
+
type: 'setMenuState',
|
|
445
|
+
payload: { hoveredIndex: -1, markedIndex: -1 },
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
}, onClick: () => selectItem(index) }, renderItemFn({ item, index })));
|
|
449
|
+
})))), typeof portalNode === 'function' ? portalNode() : portalNode || window.document.body);
|
|
450
|
+
});
|
|
451
|
+
Menu.displayName = 'Menu';
|
|
452
|
+
exports.default = Menu;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.popperOptions = void 0;
|
|
4
|
+
exports.popperOptions = {
|
|
5
|
+
placement: 'bottom',
|
|
6
|
+
modifiers: [
|
|
7
|
+
{
|
|
8
|
+
name: 'offset',
|
|
9
|
+
options: {
|
|
10
|
+
offset: [0, 8],
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'flip',
|
|
15
|
+
enabled: true,
|
|
16
|
+
options: {
|
|
17
|
+
altBoundary: true,
|
|
18
|
+
padding: 8,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'preventOverflow',
|
|
23
|
+
enabled: true,
|
|
24
|
+
options: {
|
|
25
|
+
altAxis: true,
|
|
26
|
+
altBoundary: true,
|
|
27
|
+
tether: true,
|
|
28
|
+
padding: 8,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
exports.default = exports.popperOptions;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface MenuState {
|
|
3
|
+
readonly selectedIndexes: readonly number[];
|
|
4
|
+
readonly markedIndex: number;
|
|
5
|
+
readonly hoveredIndex: number;
|
|
6
|
+
}
|
|
7
|
+
export type Actions = ActionSetMenuState;
|
|
8
|
+
interface ActionSetMenuState {
|
|
9
|
+
readonly type: 'setMenuState';
|
|
10
|
+
readonly payload: Partial<MenuState>;
|
|
11
|
+
}
|
|
12
|
+
export declare const defaultState: MenuState;
|
|
13
|
+
export declare const reducer: React.Reducer<MenuState, Actions>;
|
|
14
|
+
export default reducer;
|