@via-profit/ui-kit 0.2.6 → 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.
Files changed (498) hide show
  1. package/Accordion/AccordionContainer.js +11 -11
  2. package/Accordion/AccordionContent.js +16 -7
  3. package/Accordion/AccordionHeader.d.ts +22 -0
  4. package/Accordion/AccordionHeader.js +35 -18
  5. package/Accordion/Chevron.js +3 -3
  6. package/Accordion/index.d.ts +12 -8
  7. package/Accordion/index.js +21 -6
  8. package/Autocomplete/AutocompleteContainer.d.ts +5 -9
  9. package/Autocomplete/AutocompleteContainer.js +125 -57
  10. package/Autocomplete/AutocompleteTagsInput.d.ts +15 -0
  11. package/Autocomplete/AutocompleteTagsInput.js +65 -0
  12. package/Autocomplete/context.d.ts +1 -0
  13. package/Autocomplete/context.js +5 -5
  14. package/Autocomplete/index.js +10 -7
  15. package/Avatar/AvatarBase.js +1 -1
  16. package/Avatar/AvatarContainer.js +6 -11
  17. package/Avatar/AvatarPicture.d.ts +9 -1
  18. package/Avatar/AvatarPicture.js +4 -3
  19. package/Avatar/index.js +10 -10
  20. package/Badge/BadgeBase.d.ts +9 -0
  21. package/Badge/BadgeBase.js +21 -3
  22. package/Badge/BadgeContainer.js +2 -1
  23. package/Badge/BadgeDeleteButton.d.ts +1 -1
  24. package/Badge/BadgeOutlined.d.ts +1 -1
  25. package/Badge/BadgeOutlined.js +5 -80
  26. package/Badge/BadgeStandard.d.ts +1 -1
  27. package/Badge/BadgeStandard.js +5 -91
  28. package/Badge/BadgeStyled.d.ts +5 -0
  29. package/Badge/BadgeStyled.js +125 -0
  30. package/Badge/index.d.ts +2 -2
  31. package/Badge/index.js +3 -20
  32. package/Button/ButtonBase.js +8 -4
  33. package/Button/ButtonContainer.js +2 -0
  34. package/Button/ButtonIconWrapper.d.ts +1 -1
  35. package/Button/ButtonOutlined.d.ts +1 -1
  36. package/Button/ButtonOutlined.js +5 -80
  37. package/Button/ButtonPlain.d.ts +1 -1
  38. package/Button/ButtonPlain.js +5 -85
  39. package/Button/ButtonStandard.d.ts +1 -1
  40. package/Button/ButtonStandard.js +5 -97
  41. package/Button/ButtonStyled.d.ts +10 -0
  42. package/Button/ButtonStyled.js +205 -0
  43. package/Button/index.d.ts +5 -5
  44. package/Button/index.js +3 -24
  45. package/ButtonGroup/ButtonGroupContext.d.ts +21 -0
  46. package/ButtonGroup/ButtonGroupContext.js +11 -0
  47. package/ButtonGroup/index.d.ts +76 -0
  48. package/ButtonGroup/index.js +132 -0
  49. package/CHANGELOG.md +160 -0
  50. package/Calendar/CalendarCell.js +11 -4
  51. package/Calendar/CalendarComponent.d.ts +15 -4
  52. package/Calendar/CalendarComponent.js +201 -103
  53. package/Calendar/CalendarDayBadge.d.ts +1 -1
  54. package/Calendar/CalendarMonthCell.js +1 -11
  55. package/Calendar/CalendarWeekDayLabel.js +3 -1
  56. package/Calendar/CalendarWeekDaysBar.js +6 -1
  57. package/Calendar/CalendarYearCell.js +1 -16
  58. package/Calendar/CalendarYearsSelector.d.ts +0 -1
  59. package/Calendar/CalendarYearsSelector.js +33 -35
  60. package/Calendar/use-calendar.d.ts +4 -3
  61. package/Calendar/use-calendar.js +31 -24
  62. package/Checkbox/CheckboxAsterisk.d.ts +13 -0
  63. package/{Autocomplete2/Autocomplete2TextField.js → Checkbox/CheckboxAsterisk.js} +24 -10
  64. package/Checkbox/CheckboxBox.d.ts +22 -0
  65. package/Checkbox/CheckboxBox.js +88 -0
  66. package/Checkbox/CheckboxContainer.d.ts +27 -0
  67. package/Checkbox/CheckboxContainer.js +38 -0
  68. package/Checkbox/CheckboxErrorText.d.ts +6 -0
  69. package/Checkbox/CheckboxErrorText.js +76 -0
  70. package/Checkbox/CheckboxIcon.d.ts +10 -0
  71. package/Checkbox/CheckboxIcon.js +57 -0
  72. package/Checkbox/CheckboxTextWrapper.d.ts +4 -0
  73. package/Checkbox/CheckboxTextWrapper.js +29 -0
  74. package/Checkbox/CheckboxWrapper.d.ts +4 -0
  75. package/Checkbox/CheckboxWrapper.js +29 -0
  76. package/Checkbox/index.d.ts +144 -0
  77. package/Checkbox/index.js +71 -0
  78. package/Checkbox/useCheckboxColor.d.ts +6 -0
  79. package/Checkbox/useCheckboxColor.js +33 -0
  80. package/ClickOutside/index.d.ts +6 -0
  81. package/ClickOutside/index.js +19 -3
  82. package/Color/Color.d.ts +4 -4
  83. package/Color/Color.js +9 -5
  84. package/Color/ColorGenerator.d.ts +5 -1
  85. package/Color/ColorParser.d.ts +9 -0
  86. package/Color/ColorParser.js +52 -12
  87. package/CountryFlags/AC.js +5 -1
  88. package/CountryFlags/AD.js +5 -1
  89. package/CountryFlags/AE.js +5 -1
  90. package/CountryFlags/AF.js +5 -1
  91. package/CountryFlags/AG.js +5 -1
  92. package/CountryFlags/AI.js +5 -1
  93. package/CountryFlags/AL.js +5 -1
  94. package/CountryFlags/AM.js +5 -1
  95. package/CountryFlags/AO.js +5 -1
  96. package/CountryFlags/AQ.js +5 -1
  97. package/CountryFlags/AR.js +5 -1
  98. package/CountryFlags/AS.js +5 -1
  99. package/CountryFlags/AT.js +5 -1
  100. package/CountryFlags/AU.js +5 -1
  101. package/CountryFlags/AW.js +5 -1
  102. package/CountryFlags/AX.js +5 -1
  103. package/CountryFlags/AZ.js +5 -1
  104. package/CountryFlags/BA.js +5 -1
  105. package/CountryFlags/BB.js +5 -1
  106. package/CountryFlags/BD.js +5 -1
  107. package/CountryFlags/BE.js +5 -1
  108. package/CountryFlags/BF.js +5 -1
  109. package/CountryFlags/BG.js +5 -1
  110. package/CountryFlags/BH.js +5 -1
  111. package/CountryFlags/BI.js +5 -1
  112. package/CountryFlags/BJ.js +5 -1
  113. package/CountryFlags/BL.js +5 -1
  114. package/CountryFlags/BM.js +5 -1
  115. package/CountryFlags/BN.js +5 -1
  116. package/CountryFlags/BO.js +5 -1
  117. package/CountryFlags/BQ.js +5 -1
  118. package/CountryFlags/BR.js +5 -1
  119. package/CountryFlags/BS.js +5 -1
  120. package/CountryFlags/BT.js +5 -1
  121. package/CountryFlags/BV.js +5 -1
  122. package/CountryFlags/BW.js +5 -1
  123. package/CountryFlags/BY.js +5 -1
  124. package/CountryFlags/BZ.js +5 -1
  125. package/CountryFlags/CA.js +5 -1
  126. package/CountryFlags/CC.js +5 -1
  127. package/CountryFlags/CD.js +5 -1
  128. package/CountryFlags/CF.js +5 -1
  129. package/CountryFlags/CG.js +5 -1
  130. package/CountryFlags/CH.js +5 -1
  131. package/CountryFlags/CI.js +5 -1
  132. package/CountryFlags/CK.js +5 -1
  133. package/CountryFlags/CL.js +5 -1
  134. package/CountryFlags/CM.js +5 -1
  135. package/CountryFlags/CN.js +5 -1
  136. package/CountryFlags/CO.js +5 -1
  137. package/CountryFlags/CR.js +5 -1
  138. package/CountryFlags/CU.js +5 -1
  139. package/CountryFlags/CV.js +5 -1
  140. package/CountryFlags/CW.js +5 -1
  141. package/CountryFlags/CX.js +5 -1
  142. package/CountryFlags/CY.js +5 -1
  143. package/CountryFlags/CZ.js +5 -1
  144. package/CountryFlags/DE.js +5 -1
  145. package/CountryFlags/DJ.js +5 -1
  146. package/CountryFlags/DK.js +5 -1
  147. package/CountryFlags/DM.js +5 -1
  148. package/CountryFlags/DO.js +5 -1
  149. package/CountryFlags/DZ.js +5 -1
  150. package/CountryFlags/EC.js +5 -1
  151. package/CountryFlags/EE.js +5 -1
  152. package/CountryFlags/EG.js +5 -1
  153. package/CountryFlags/EH.js +5 -1
  154. package/CountryFlags/ER.js +5 -1
  155. package/CountryFlags/ES.js +5 -1
  156. package/CountryFlags/ET.js +5 -1
  157. package/CountryFlags/EU.js +5 -1
  158. package/CountryFlags/FI.js +5 -1
  159. package/CountryFlags/FJ.js +5 -1
  160. package/CountryFlags/FK.js +5 -1
  161. package/CountryFlags/FM.js +5 -1
  162. package/CountryFlags/FO.js +5 -1
  163. package/CountryFlags/FR.js +5 -1
  164. package/CountryFlags/GA.js +5 -1
  165. package/CountryFlags/GB.js +5 -1
  166. package/CountryFlags/GD.js +5 -1
  167. package/CountryFlags/GE.js +5 -1
  168. package/CountryFlags/GEAB.js +5 -1
  169. package/CountryFlags/GEOS.js +5 -1
  170. package/CountryFlags/GF.js +5 -1
  171. package/CountryFlags/GG.js +5 -1
  172. package/CountryFlags/GH.js +5 -1
  173. package/CountryFlags/GI.js +5 -1
  174. package/CountryFlags/GL.js +5 -1
  175. package/CountryFlags/GM.js +5 -1
  176. package/CountryFlags/GN.js +5 -1
  177. package/CountryFlags/GP.js +5 -1
  178. package/CountryFlags/GQ.js +5 -1
  179. package/CountryFlags/GR.js +5 -1
  180. package/CountryFlags/GS.js +5 -1
  181. package/CountryFlags/GT.js +5 -1
  182. package/CountryFlags/GU.js +5 -1
  183. package/CountryFlags/GW.js +5 -1
  184. package/CountryFlags/GY.js +5 -1
  185. package/CountryFlags/HK.js +5 -1
  186. package/CountryFlags/HM.js +5 -1
  187. package/CountryFlags/HN.js +5 -1
  188. package/CountryFlags/HR.js +5 -1
  189. package/CountryFlags/HT.js +5 -1
  190. package/CountryFlags/HU.js +5 -1
  191. package/CountryFlags/IC.js +5 -1
  192. package/CountryFlags/ID.js +5 -1
  193. package/CountryFlags/IE.js +5 -1
  194. package/CountryFlags/IL.js +5 -1
  195. package/CountryFlags/IM.js +5 -1
  196. package/CountryFlags/IN.js +5 -1
  197. package/CountryFlags/IO.js +5 -1
  198. package/CountryFlags/IQ.js +5 -1
  199. package/CountryFlags/IR.js +5 -1
  200. package/CountryFlags/IS.js +5 -1
  201. package/CountryFlags/IT.js +5 -1
  202. package/CountryFlags/JE.js +5 -1
  203. package/CountryFlags/JM.js +5 -1
  204. package/CountryFlags/JO.js +5 -1
  205. package/CountryFlags/JP.js +5 -1
  206. package/CountryFlags/KE.js +5 -1
  207. package/CountryFlags/KG.js +5 -1
  208. package/CountryFlags/KH.js +5 -1
  209. package/CountryFlags/KI.js +5 -1
  210. package/CountryFlags/KM.js +5 -1
  211. package/CountryFlags/KN.js +5 -1
  212. package/CountryFlags/KP.js +5 -1
  213. package/CountryFlags/KR.js +5 -1
  214. package/CountryFlags/KW.js +5 -1
  215. package/CountryFlags/KY.js +5 -1
  216. package/CountryFlags/KZ.js +5 -1
  217. package/CountryFlags/LA.js +5 -1
  218. package/CountryFlags/LB.js +5 -1
  219. package/CountryFlags/LC.js +5 -1
  220. package/CountryFlags/LI.js +5 -1
  221. package/CountryFlags/LK.js +5 -1
  222. package/CountryFlags/LR.js +5 -1
  223. package/CountryFlags/LS.js +5 -1
  224. package/CountryFlags/LT.js +5 -1
  225. package/CountryFlags/LU.js +5 -1
  226. package/CountryFlags/LV.js +5 -1
  227. package/CountryFlags/LY.js +5 -1
  228. package/CountryFlags/MA.js +5 -1
  229. package/CountryFlags/MC.js +5 -1
  230. package/CountryFlags/MD.js +5 -1
  231. package/CountryFlags/ME.js +5 -1
  232. package/CountryFlags/MF.js +5 -1
  233. package/CountryFlags/MG.js +5 -1
  234. package/CountryFlags/MH.js +5 -1
  235. package/CountryFlags/MK.js +5 -1
  236. package/CountryFlags/ML.js +5 -1
  237. package/CountryFlags/MM.js +5 -1
  238. package/CountryFlags/MN.js +5 -1
  239. package/CountryFlags/MO.js +5 -1
  240. package/CountryFlags/MP.js +5 -1
  241. package/CountryFlags/MQ.js +5 -1
  242. package/CountryFlags/MR.js +5 -1
  243. package/CountryFlags/MS.js +5 -1
  244. package/CountryFlags/MT.js +5 -1
  245. package/CountryFlags/MU.js +5 -1
  246. package/CountryFlags/MV.js +5 -1
  247. package/CountryFlags/MW.js +5 -1
  248. package/CountryFlags/MX.js +5 -1
  249. package/CountryFlags/MY.js +5 -1
  250. package/CountryFlags/MZ.js +5 -1
  251. package/CountryFlags/NA.js +5 -1
  252. package/CountryFlags/NC.js +5 -1
  253. package/CountryFlags/NE.js +5 -1
  254. package/CountryFlags/NF.js +5 -1
  255. package/CountryFlags/NG.js +5 -1
  256. package/CountryFlags/NI.js +5 -1
  257. package/CountryFlags/NL.js +5 -1
  258. package/CountryFlags/NO.js +5 -1
  259. package/CountryFlags/NP.js +5 -1
  260. package/CountryFlags/NR.js +5 -1
  261. package/CountryFlags/NU.js +5 -1
  262. package/CountryFlags/NZ.js +5 -1
  263. package/CountryFlags/OM.js +5 -1
  264. package/CountryFlags/PA.js +5 -1
  265. package/CountryFlags/PE.js +5 -1
  266. package/CountryFlags/PF.js +5 -1
  267. package/CountryFlags/PG.js +5 -1
  268. package/CountryFlags/PH.js +5 -1
  269. package/CountryFlags/PK.js +5 -1
  270. package/CountryFlags/PL.js +5 -1
  271. package/CountryFlags/PM.js +5 -1
  272. package/CountryFlags/PN.js +5 -1
  273. package/CountryFlags/PR.js +5 -1
  274. package/CountryFlags/PS.js +5 -1
  275. package/CountryFlags/PT.js +5 -1
  276. package/CountryFlags/PW.js +5 -1
  277. package/CountryFlags/PY.js +5 -1
  278. package/CountryFlags/QA.js +5 -1
  279. package/CountryFlags/RE.js +5 -1
  280. package/CountryFlags/RO.js +5 -1
  281. package/CountryFlags/RS.js +5 -1
  282. package/CountryFlags/RU.js +5 -1
  283. package/CountryFlags/RW.js +5 -1
  284. package/CountryFlags/SA.js +5 -1
  285. package/CountryFlags/SB.js +5 -1
  286. package/CountryFlags/SC.js +5 -1
  287. package/CountryFlags/SD.js +5 -1
  288. package/CountryFlags/SE.js +5 -1
  289. package/CountryFlags/SG.js +5 -1
  290. package/CountryFlags/SH.js +5 -1
  291. package/CountryFlags/SI.js +5 -1
  292. package/CountryFlags/SJ.js +5 -1
  293. package/CountryFlags/SK.js +5 -1
  294. package/CountryFlags/SL.js +5 -1
  295. package/CountryFlags/SM.js +5 -1
  296. package/CountryFlags/SN.js +5 -1
  297. package/CountryFlags/SO.js +5 -1
  298. package/CountryFlags/SR.js +5 -1
  299. package/CountryFlags/SS.js +5 -1
  300. package/CountryFlags/ST.js +5 -1
  301. package/CountryFlags/SV.js +5 -1
  302. package/CountryFlags/SX.js +5 -1
  303. package/CountryFlags/SY.js +5 -1
  304. package/CountryFlags/SZ.js +5 -1
  305. package/CountryFlags/TA.js +5 -1
  306. package/CountryFlags/TC.js +5 -1
  307. package/CountryFlags/TD.js +5 -1
  308. package/CountryFlags/TF.js +5 -1
  309. package/CountryFlags/TG.js +5 -1
  310. package/CountryFlags/TH.js +5 -1
  311. package/CountryFlags/TJ.js +5 -1
  312. package/CountryFlags/TK.js +5 -1
  313. package/CountryFlags/TL.js +5 -1
  314. package/CountryFlags/TM.js +5 -1
  315. package/CountryFlags/TN.js +5 -1
  316. package/CountryFlags/TO.js +5 -1
  317. package/CountryFlags/TR.js +5 -1
  318. package/CountryFlags/TT.js +5 -1
  319. package/CountryFlags/TV.js +5 -1
  320. package/CountryFlags/TW.js +5 -1
  321. package/CountryFlags/TZ.js +5 -1
  322. package/CountryFlags/UA.js +5 -1
  323. package/CountryFlags/UG.js +5 -1
  324. package/CountryFlags/UM.js +5 -1
  325. package/CountryFlags/US.js +5 -1
  326. package/CountryFlags/UY.js +5 -1
  327. package/CountryFlags/UZ.js +5 -1
  328. package/CountryFlags/Uknown.d.ts +7 -3
  329. package/CountryFlags/Uknown.js +9 -31
  330. package/CountryFlags/Unknown.d.ts +3 -0
  331. package/CountryFlags/Unknown.js +42 -0
  332. package/CountryFlags/VA.js +5 -1
  333. package/CountryFlags/VC.js +5 -1
  334. package/CountryFlags/VE.js +5 -1
  335. package/CountryFlags/VG.js +5 -1
  336. package/CountryFlags/VI.js +5 -1
  337. package/CountryFlags/VN.js +5 -1
  338. package/CountryFlags/VU.js +5 -1
  339. package/CountryFlags/WF.js +5 -1
  340. package/CountryFlags/WS.js +5 -1
  341. package/CountryFlags/XK.js +5 -1
  342. package/CountryFlags/YE.js +5 -1
  343. package/CountryFlags/YT.js +5 -1
  344. package/CountryFlags/ZA.js +5 -1
  345. package/CountryFlags/ZM.js +5 -1
  346. package/CountryFlags/ZW.js +5 -1
  347. package/CountryFlags/index.d.ts +2 -1
  348. package/CountryFlags/index.js +3 -1
  349. package/CountryFlags/isLabelled.d.ts +6 -0
  350. package/CountryFlags/isLabelled.js +7 -0
  351. package/DatePicker/index.d.ts +23 -6
  352. package/DatePicker/index.js +84 -23
  353. package/DatePicker/useDatePickerFormat.js +20 -3
  354. package/Grid/index.d.ts +60 -0
  355. package/Grid/index.js +43 -0
  356. package/Highlighted/index.d.ts +1 -1
  357. package/Highlighted/index.js +14 -10
  358. package/LoadingIndicator/LoadingOverlay.d.ts +11 -0
  359. package/LoadingIndicator/LoadingOverlay.js +63 -0
  360. package/LoadingIndicator/Spinner.d.ts +34 -5
  361. package/LoadingIndicator/Spinner.js +48 -37
  362. package/LoadingIndicator/SpinnerCircle.d.ts +14 -0
  363. package/LoadingIndicator/SpinnerCircle.js +34 -0
  364. package/LoadingIndicator/index.d.ts +8 -3
  365. package/LoadingIndicator/index.js +9 -15
  366. package/MaskedField/index.d.ts +3 -2
  367. package/MaskedField/index.js +7 -2
  368. package/MaskedField/templates.js +2 -0
  369. package/MaskedField/useMasked.js +26 -12
  370. package/Menu/MenuContainer.d.ts +11 -3
  371. package/Menu/MenuContainer.js +127 -65
  372. package/Menu/MenuItem.js +1 -1
  373. package/Menu/VirtualizedList.js +1 -3
  374. package/Menu/context.js +5 -0
  375. package/Modal/BaseModal/ModalWrapper.js +65 -38
  376. package/Modal/BaseModal/context.js +6 -0
  377. package/Modal/BaseModal/index.js +0 -8
  378. package/Modal/BaseModal/useDialogID.d.ts +6 -0
  379. package/Modal/BaseModal/useDialogID.js +12 -0
  380. package/Modal/ConfirmBox/ConfirmBoxContainer.js +5 -1
  381. package/Modal/ConfirmBox/index.js +2 -1
  382. package/Modal/Dialog/DialogInner.js +1 -1
  383. package/Modal/Dialog/index.js +12 -7
  384. package/Modal/Drawer/DrawerHeader.d.ts +20 -0
  385. package/Modal/Drawer/DrawerHeader.js +3 -3
  386. package/Modal/Drawer/DrawerInner.js +9 -1
  387. package/Modal/Drawer/index.d.ts +7 -0
  388. package/Modal/Drawer/index.js +12 -10
  389. package/Modal/MessageBox/MessageBoxContainer.js +1 -1
  390. package/Modal/MessageBox/index.js +2 -1
  391. package/PhoneField/CountryFlagComponent.js +2 -2
  392. package/PhoneField/UnknownFlag.d.ts +6 -3
  393. package/PhoneField/UnknownFlag.js +8 -31
  394. package/PhoneField/index.js +45 -55
  395. package/PhoneField/templates.js +13 -14
  396. package/PhoneField/usePhoneUtils.d.ts +15 -0
  397. package/PhoneField/usePhoneUtils.js +30 -37
  398. package/Popper/Popper.d.ts +30 -10
  399. package/Popper/Popper.js +9 -7
  400. package/Popper/usePopper.d.ts +21 -31
  401. package/Popper/usePopper.js +79 -46
  402. package/README.md +27 -10
  403. package/Radio/RadioBox.d.ts +14 -0
  404. package/Radio/RadioBox.js +100 -0
  405. package/Radio/RadioContainer.d.ts +27 -0
  406. package/Radio/RadioContainer.js +38 -0
  407. package/Radio/RadioTextWrapper.d.ts +4 -0
  408. package/Radio/RadioTextWrapper.js +29 -0
  409. package/Radio/index.d.ts +64 -0
  410. package/Radio/index.js +49 -0
  411. package/Radio/useRadioColor.d.ts +6 -0
  412. package/Radio/useRadioColor.js +33 -0
  413. package/RadioGroup/RadioGroupAsterisk.d.ts +13 -0
  414. package/RadioGroup/RadioGroupAsterisk.js +53 -0
  415. package/RadioGroup/RadioGroupContainer.d.ts +4 -0
  416. package/RadioGroup/RadioGroupContainer.js +36 -0
  417. package/RadioGroup/RadioGroupContext.d.ts +20 -0
  418. package/RadioGroup/RadioGroupContext.js +11 -0
  419. package/RadioGroup/RadioGroupErrorText.d.ts +6 -0
  420. package/RadioGroup/RadioGroupErrorText.js +76 -0
  421. package/RadioGroup/RadioGroupItems.d.ts +9 -0
  422. package/RadioGroup/RadioGroupItems.js +30 -0
  423. package/RadioGroup/RadioGroupLegend.d.ts +4 -0
  424. package/RadioGroup/RadioGroupLegend.js +37 -0
  425. package/RadioGroup/index.d.ts +134 -0
  426. package/RadioGroup/index.js +62 -0
  427. package/Selectbox/SelectboxMenu.d.ts +1 -1
  428. package/Selectbox/index.d.ts +18 -2
  429. package/Selectbox/index.js +32 -32
  430. package/Stack/index.d.ts +62 -0
  431. package/Stack/index.js +38 -0
  432. package/Surface/SurfaceContainer.js +6 -0
  433. package/Surface/index.js +7 -3
  434. package/Swiper/Swiper.d.ts +28 -2
  435. package/Swiper/Swiper.js +246 -91
  436. package/Swiper/SwiperContainer.js +0 -2
  437. package/Swiper/SwiperSlidesRenderer.d.ts +8 -0
  438. package/Swiper/SwiperSlidesRenderer.js +17 -14
  439. package/Swiper/SwiperTrack.d.ts +8 -0
  440. package/Swiper/SwiperTrack.js +8 -3
  441. package/Swiper/SwiperWrapper.js +9 -1
  442. package/Switch/SwitchContainer.d.ts +1 -1
  443. package/Switch/SwitchContainer.js +5 -5
  444. package/Switch/SwitchDot.js +13 -53
  445. package/Switch/SwitchToggleWrapper.d.ts +1 -1
  446. package/Switch/SwitchToggleWrapper.js +5 -6
  447. package/Switch/SwitchTrack.js +5 -41
  448. package/Switch/index.d.ts +4 -4
  449. package/Switch/index.js +21 -11
  450. package/Switch/useSwitchColor.d.ts +7 -0
  451. package/Switch/useSwitchColor.js +33 -0
  452. package/Table/Table.d.ts +6 -0
  453. package/Table/Table.js +7 -62
  454. package/Table/TableBody.d.ts +1 -1
  455. package/Table/TableBody.js +4 -2
  456. package/Table/TableCaption.d.ts +2 -2
  457. package/Table/TableCaption.js +2 -3
  458. package/Table/TableCell.js +2 -5
  459. package/Table/TableFooter.js +8 -7
  460. package/Table/TableHeader.js +6 -2
  461. package/Table/TableHeaderCell.js +8 -9
  462. package/Table/TableRow.js +1 -5
  463. package/TextArea/TextAreaIconWrapper.d.ts +1 -1
  464. package/TextArea/TextAreaInput.js +2 -0
  465. package/TextArea/index.js +7 -15
  466. package/TextField/TextFieldInput.js +2 -0
  467. package/TextField/TextFieldInputWrapper.d.ts +2 -0
  468. package/TextField/TextFieldInputWrapper.js +12 -2
  469. package/TextField/index.js +7 -19
  470. package/ThemeProvider/createTheme.js +2 -3
  471. package/ThemeProvider/index.d.ts +19 -2
  472. package/Typography/Base.d.ts +1 -1
  473. package/Typography/Base.js +1 -1
  474. package/Typography/Blockquote.js +1 -1
  475. package/Typography/Del.js +2 -2
  476. package/Typography/H4.js +1 -1
  477. package/Typography/H5.js +2 -2
  478. package/Typography/H6.d.ts +4 -0
  479. package/Typography/H6.js +28 -0
  480. package/Typography/SectionDescription.js +0 -1
  481. package/Typography/SectionTitle.d.ts +4 -7
  482. package/Typography/SectionTitle.js +26 -8
  483. package/Typography/index.d.ts +27 -0
  484. package/Typography/index.js +35 -0
  485. package/package.json +2 -4
  486. package/utils/TabManager.d.ts +7 -1
  487. package/utils/TabManager.js +39 -45
  488. package/utils/spacing.d.ts +11 -0
  489. package/utils/spacing.js +14 -0
  490. package/Autocomplete/OverrideMenuList.d.ts +0 -4
  491. package/Autocomplete/OverrideMenuList.js +0 -39
  492. package/Autocomplete2/Autocomplete2.d.ts +0 -12
  493. package/Autocomplete2/Autocomplete2.js +0 -83
  494. package/Autocomplete2/Autocomplete2TextField.d.ts +0 -7
  495. package/Autocomplete2/index.d.ts +0 -2
  496. package/Autocomplete2/index.js +0 -7
  497. package/CountryFlags/SwiperOverview.d.ts +0 -257
  498. package/CountryFlags/SwiperOverview.js +0 -524
@@ -0,0 +1,42 @@
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 = __importStar(require("react"));
30
+ const react_1 = require("@emotion/react");
31
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
32
+ /**
33
+ * The placeholder for an unknown country. The same 3:2 size as the flags,
34
+ * so replacing it with a flag does not shift the layout
35
+ */
36
+ const Unknown = (props, ref) => {
37
+ const { color } = (0, react_1.useTheme)();
38
+ return (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: "1.5em", height: "1em", viewBox: "0 0 768 512", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
39
+ React.createElement("rect", { width: "768", height: "512", fill: color.surface.darken(10).toString() }),
40
+ React.createElement("path", { transform: "translate(206.682 31.951)", d: "m177.32 288.09q-4.915 0-8.0953-3.1803-3.1803-3.4694-3.1803-8.3844 0-11.854 5.7824-25.153 5.7823-13.299 15.612-22.551l7.2279-6.6497q9.83-9.2518 15.323-15.323 5.4932-6.3606 8.9626-15.034 3.7585-8.9626 3.7585-20.527 0-11.276-5.4932-20.527-5.4932-9.5409-15.612-15.034-10.119-5.4932-23.129-5.4932-21.395 0-34.116 13.01-12.432 12.721-12.432 33.248 0 4.915-3.1803 8.0953-2.8912 2.8912-7.8062 2.8912t-8.0953-2.8912q-3.1803-3.1803-3.1803-8.0953 0-19.66 8.6735-34.983 8.6735-15.323 24.286-23.997 15.612-8.6735 35.851-8.6735 19.082 0 34.116 8.3844 15.323 8.0953 23.708 22.551 8.6735 14.456 8.6735 32.67 0 14.167-4.6259 24.864-4.6259 10.408-11.854 18.503-6.9388 8.0953-19.949 19.949l-5.2041 4.6259q-8.0953 7.2279-11.565 17.058-3.1803 9.5409-3.1803 19.082 0 4.915-3.1803 8.3844-3.1803 3.1803-8.0953 3.1803zm0 51.174q-7.2279 0-12.143-4.915-4.6259-4.915-4.6259-11.854 0-7.2279 4.915-12.143 4.915-4.915 11.854-4.915t11.854 4.915q5.2041 4.915 5.2041 12.143 0 6.9388-5.2041 11.854-4.915 4.915-11.854 4.915z", fill: color.textPrimary.alpha(0.6).toString() })));
41
+ };
42
+ exports.default = React.forwardRef(Unknown);
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const VA = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const VA = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#FFDA44", d: "M0 85.331h512v341.326H0z" }),
29
33
  React.createElement("path", { fill: "#FFF", d: "M256 85.331h256v341.337H256z" }),
30
34
  React.createElement("path", { fill: "#ACABB1", d: "m321.353 233.837 32.073 42.43c-5.053 7.651-5.026 17.961.817 25.692 7.414 9.807 21.374 11.748 31.182 4.335 9.807-7.414 11.748-21.374 4.334-31.182-5.843-7.731-15.756-10.568-24.495-7.795l-49.988-66.129-11.838 8.949-17.759 13.424 17.899 23.677 17.775-13.401zm46.175 48.78a7.421 7.421 0 1 1 8.95 11.84 7.421 7.421 0 0 1-8.95-11.84z" }),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const VC = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const VC = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#FFDA44", d: "M0 85.331h512v341.337H0z" }),
29
33
  React.createElement("path", { fill: "#338AF3", d: "M0 85.331h170.663v341.337H0z" }),
30
34
  React.createElement("g", { fill: "#6DA544" },
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const VE = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 22.5 15", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const VE = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 22.5 15", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#FFCE00", d: "M0 0h22.5v5H0z" }),
29
33
  React.createElement("path", { fill: "#203899", d: "M0 5h22.5v5H0z" }),
30
34
  React.createElement("path", { fill: "#D82B2B", d: "M0 10h22.5v5H0z" }),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const VG = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const VG = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#0052B4", d: "M0 85.334h512v341.337H0z" }),
29
33
  React.createElement("path", { fill: "#FFF", d: "M256 85.334V202.66h-46.069L256 233.38v22.617h-22.628L160 207.078v48.919H96v-48.919l-73.372 48.919H0V233.38l46.069-30.72H0v-64h46.069L0 107.951V85.334h22.628L96 134.241V85.334h64v48.907l73.372-48.907z" }),
30
34
  React.createElement("g", { fill: "#D80027" },
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const VI = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 341.3", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const VI = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 341.3", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#FFF", d: "M0 0h512v341.3H0z" }),
29
33
  React.createElement("path", { fill: "#1583C4", d: "m397.7 166.3-51 97.7c-1.1 2-.3 4.5 1.8 5.6 2 1.1 4.5.3 5.6-1.8l51-97.7c1-2.1.1-4.6-2-5.5-2-.9-4.3-.2-5.4 1.7z" }),
30
34
  React.createElement("path", { fill: "#1583C4", d: "m404.9 188-57.8 75.4c-1.3 1.9-.8 4.5 1.1 5.8 1.7 1.2 4.1.9 5.5-.7l57.8-75.4c1.4-1.8 1.1-4.4-.8-5.8-1.8-1.5-4.4-1.1-5.8.7z" }),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const VN = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const VN = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#D80027", d: "M196.641 85.337H0v341.326h512V85.337z" }),
29
33
  React.createElement("path", { fill: "#FFDA44", d: "m256 157.279 22.663 69.747H352l-59.332 43.106 22.664 69.749L256 296.774l-59.332 43.107 22.664-69.749L160 227.026h73.337z" })));
30
34
  exports.default = React.forwardRef(VN);
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const VU = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const VU = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { d: "M0 85.337h512v341.326H0z" }),
29
33
  React.createElement("path", { fill: "#6DA544", d: "M512 256v170.663H0L215.185 256z" }),
30
34
  React.createElement("path", { fill: "#D80027", d: "M512 85.337V256H215.185L0 85.337z" }),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const WF = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 150 100", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const WF = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 150 100", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#ED2939", d: "M0 0h150v100H0z" }),
29
33
  React.createElement("path", { fill: "#002395", d: "M0 0h20v44.33H0z" }),
30
34
  React.createElement("path", { fill: "#FFF", d: "M20 0h20v44.33H20z" }),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const WS = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const WS = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#D80027", d: "M0 85.331h512v341.337H0z" }),
29
33
  React.createElement("path", { fill: "#0052B4", d: "M0 85.331h256v170.663H0z" }),
30
34
  React.createElement("g", { fill: "#FFF" },
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const XK = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 341.33", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const XK = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 341.33", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#0052B4", d: "M0 0h512v341.34H0z" }),
29
33
  React.createElement("g", { fill: "#FFF" },
30
34
  React.createElement("path", { d: "m220.72 42.63 7.95 16.11 17.77 2.58-12.86 12.54 3.04 17.7-15.9-8.36-15.9 8.36 3.03-17.7-12.86-12.54 17.78-2.58zM291.28 42.57l7.95 16.1 17.78 2.59-12.86 12.53 3.03 17.71-15.9-8.36-15.9 8.36 3.04-17.71-12.86-12.53 17.77-2.59zM353.36 53.93l7.95 16.11 17.77 2.58-12.86 12.54 3.04 17.7-15.9-8.35-15.9 8.35 3.04-17.7-12.87-12.54 17.78-2.58zM416.37 72.23l7.95 16.11 17.77 2.59-12.86 12.53 3.04 17.71-15.9-8.36-15.9 8.36 3.03-17.71-12.86-12.53 17.78-2.59zM158.64 53.93l7.95 16.11 17.78 2.58-12.87 12.54 3.04 17.7-15.9-8.35-15.9 8.35 3.04-17.7-12.86-12.54 17.77-2.58zM95.63 72.23l7.95 16.11 17.78 2.59-12.86 12.53 3.03 17.71-15.9-8.36-15.9 8.36 3.04-17.71-12.86-12.53 17.77-2.59z" })),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const YE = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const YE = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#FFF", d: "M0 85.337h512v341.326H0z" }),
29
33
  React.createElement("path", { fill: "#D80027", d: "M0 85.337h512v113.775H0z" }),
30
34
  React.createElement("path", { d: "M0 312.888h512v113.775H0z" })));
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const YT = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 90 60", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const YT = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 90 60", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#FFF", d: "M0 0h90v60H0z" }),
29
33
  React.createElement("path", { stroke: "#7f7f7f", strokeWidth: ".25", fill: "#ABABAB", d: "M75.6 39.6c-1.1.7 0 1.8-.6 1.9-.6.1-1.5-1.4-.2-2.5 1.6-1.5 5.8 0 5.9 4.3 0 2.2-.9 6.8-7.2 6.8-7.6 0-11.4-5.7-11.4-11.4 0-4.8 3.7-13.5 6.5-14.6 3.1-1.2 6.7-3.5 6.8-5 0-.5-1.4-.1-3.3.9-3.1 1.7-6.6 2.5-6.6 1.4s2.9-3.1 4-4.6c1.2-1.6.9-5.5 3-5.5 7.6 0 9.9 7.7 7 11.7-1.9 2.6 4.3 1 4.3 1s0 5.3-3.2 7.3c-3 1.8-4.8 3.9-4.8 3.9s.2-4.6-.5-3.9c-.6.7-11.1 4.5-10.3 12 .3 3 4.5 5.4 8.5 5.2s5.7-2.4 5.8-4.9c.1-3.9-3-4.4-3.7-4zM10.7 43.6c.1 2.5 1.8 4.7 5.8 4.9s8.2-2.2 8.5-5.2c.8-7.5-9.7-11.3-10.3-12-.7-.7-.5 3.9-.5 3.9s-1.8-2.1-4.8-3.9c-3.2-2-3.2-7.3-3.2-7.3s6.2 1.6 4.3-1c-2.9-4-.6-11.7 7-11.7 2.1 0 1.8 3.9 3 5.5 1.1 1.5 4 3.5 4 4.6s-3.5.3-6.6-1.4c-1.9-1-3.3-1.4-3.3-.9.1 1.5 3.7 3.8 6.8 5 2.8 1.1 6.5 9.8 6.5 14.6 0 5.7-3.8 11.4-11.4 11.4-6.3 0-7.2-4.6-7.2-6.8.1-4.3 4.3-5.8 5.9-4.3 1.2 1.1.4 2.7-.2 2.5-.6-.1.6-1.2-.6-1.9-.6-.4-3.7.1-3.7 4z" }),
30
34
  React.createElement("path", { fill: "#DE393A", d: "M31 28.8v14c0 1.9 2.1 1.6 2.1 1.6h9.3c1.2 0 2.6 2.3 2.6 2.3s1.4-2.3 2.5-2.3h9.6s2 .2 2-1.8V28.7H31z" }),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const ZA = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const ZA = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#FFF", d: "M0 85.337h512v341.326H0z" }),
29
33
  React.createElement("path", { d: "M114.024 256.001 0 141.926v228.17z" }),
30
34
  React.createElement("path", { fill: "#ffb915", d: "M161.192 256 0 94.7v47.226l114.024 114.075L0 370.096v47.138z" }),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const ZM = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const ZM = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { fill: "#496E2D", d: "M0 85.331h512v341.337H0z" }),
29
33
  React.createElement("path", { fill: "#FF9811", d: "M490.668 195.476h-48c0-8.836-7.164-16-16-16s-16 7.164-16 16h-48c0 8.836 7.697 16 16.533 16h-.533c0 8.836 7.162 16 16 16 0 8.836 7.162 16 16 16h32c8.836 0 16-7.164 16-16 8.836 0 16-7.164 16-16h-.533c8.837 0 16.533-7.164 16.533-16z" }),
30
34
  React.createElement("path", { fill: "#D80027", d: "M341.337 255.994h56.888v170.663h-56.888z" }),
@@ -22,9 +22,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  Object.defineProperty(exports, "__esModule", { value: true });
26
29
  const React = __importStar(require("react"));
27
- const ZW = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em" }, props, { ref: ref }),
30
+ const isLabelled_1 = __importDefault(require("./isLabelled"));
31
+ const ZW = (props, ref) => (React.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", viewBox: "0 85.333 512 341.333", width: "1.5em", height: "1em", "aria-hidden": (0, isLabelled_1.default)(props) ? undefined : true, role: (0, isLabelled_1.default)(props) ? 'img' : undefined }, props, { ref: ref }),
28
32
  React.createElement("path", { d: "M0 85.333h512V426.67H0z" }),
29
33
  React.createElement("g", { fill: "#FFDA44" },
30
34
  React.createElement("path", { d: "M0 134.196h512v48.868H0zM0 329.668h512v48.868H0z" })),
@@ -254,4 +254,5 @@ import YT from './YT';
254
254
  import ZA from './ZA';
255
255
  import ZM from './ZM';
256
256
  import ZW from './ZW';
257
- export { AC, AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, EU, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GEAB, GEOS, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XK, YE, YT, ZA, ZM, ZW, };
257
+ import Unknown from './Unknown';
258
+ export { AC, AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, EU, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GEAB, GEOS, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XK, YE, YT, ZA, ZM, ZW, Unknown, };
@@ -8,7 +8,7 @@ exports.HM = exports.HK = exports.GY = exports.GW = exports.GU = exports.GT = ex
8
8
  exports.ML = exports.MK = exports.MH = exports.MG = exports.MF = exports.ME = exports.MD = exports.MC = exports.MA = exports.LY = exports.LV = exports.LU = exports.LT = exports.LS = exports.LR = exports.LK = exports.LI = exports.LC = exports.LB = exports.LA = exports.KZ = exports.KY = exports.KW = exports.KR = exports.KP = exports.KN = exports.KM = exports.KI = exports.KH = exports.KG = exports.KE = exports.JP = exports.JO = exports.JM = exports.JE = exports.IT = exports.IS = exports.IR = exports.IQ = exports.IO = exports.IN = exports.IM = exports.IL = exports.IE = exports.ID = exports.IC = exports.HU = exports.HT = exports.HR = exports.HN = void 0;
9
9
  exports.SC = exports.SB = exports.SA = exports.RW = exports.RU = exports.RS = exports.RO = exports.RE = exports.QA = exports.PY = exports.PW = exports.PT = exports.PS = exports.PR = exports.PN = exports.PM = exports.PL = exports.PK = exports.PH = exports.PG = exports.PF = exports.PE = exports.PA = exports.OM = exports.NZ = exports.NU = exports.NR = exports.NP = exports.NO = exports.NL = exports.NI = exports.NG = exports.NF = exports.NE = exports.NC = exports.NA = exports.MZ = exports.MY = exports.MX = exports.MW = exports.MV = exports.MU = exports.MT = exports.MS = exports.MR = exports.MQ = exports.MP = exports.MO = exports.MN = exports.MM = void 0;
10
10
  exports.WS = exports.WF = exports.VU = exports.VN = exports.VI = exports.VG = exports.VE = exports.VC = exports.VA = exports.UZ = exports.UY = exports.US = exports.UM = exports.UG = exports.UA = exports.TZ = exports.TW = exports.TV = exports.TT = exports.TR = exports.TO = exports.TN = exports.TM = exports.TL = exports.TK = exports.TJ = exports.TH = exports.TG = exports.TF = exports.TD = exports.TC = exports.TA = exports.SZ = exports.SY = exports.SX = exports.SV = exports.ST = exports.SS = exports.SR = exports.SO = exports.SN = exports.SM = exports.SL = exports.SK = exports.SJ = exports.SI = exports.SH = exports.SG = exports.SE = exports.SD = void 0;
11
- exports.ZW = exports.ZM = exports.ZA = exports.YT = exports.YE = exports.XK = void 0;
11
+ exports.Unknown = exports.ZW = exports.ZM = exports.ZA = exports.YT = exports.YE = exports.XK = void 0;
12
12
  /* eslint-disable import/max-dependencies */
13
13
  const AC_1 = __importDefault(require("./AC"));
14
14
  exports.AC = AC_1.default;
@@ -522,3 +522,5 @@ const ZM_1 = __importDefault(require("./ZM"));
522
522
  exports.ZM = ZM_1.default;
523
523
  const ZW_1 = __importDefault(require("./ZW"));
524
524
  exports.ZW = ZW_1.default;
525
+ const Unknown_1 = __importDefault(require("./Unknown"));
526
+ exports.Unknown = Unknown_1.default;
@@ -0,0 +1,6 @@
1
+ import type * as React from 'react';
2
+ /**
3
+ * A flag is decorative (hidden from screen readers) until it gets a label
4
+ */
5
+ declare const isLabelled: (props: React.SVGProps<SVGSVGElement>) => boolean;
6
+ export default isLabelled;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * A flag is decorative (hidden from screen readers) until it gets a label
5
+ */
6
+ const isLabelled = (props) => Boolean(props['aria-label'] || props['aria-labelledby']);
7
+ exports.default = isLabelled;
@@ -8,19 +8,32 @@ export type DatePickerProps = Omit<TextFieldProps, 'value' | 'onChange' | 'overr
8
8
  */
9
9
  readonly value: Date | null;
10
10
  /**
11
- * Will be invoked when date would be changed
11
+ * Will be invoked when date would be changed.\
12
+ * Receives `null` when the field was cleared
12
13
  */
13
- readonly onChange: (date: Date) => void;
14
+ readonly onChange: (date: Date | null) => void;
14
15
  /**
15
- * Date template like one of format: \
16
- * `dd.mm.yyyy` or `yyyy/mm/dd`, etc.\
17
- * Posibility chars: `y`, `Y`, `yy`, `yyyy`, `d`, `dd`, `D`, `m`, `mm`, `M`
16
+ * Date template, e.g. `dd.mm.yyyy` or `yyyy-mm-dd`.\
17
+ * Every char of the template is one char of the field, so use the fixed width parts:
18
+ * `dd` — day, `mm` — month, `yyyy` — year (`yy` — two digits of the year)
18
19
  */
19
20
  readonly template: string;
20
21
  /**
21
- * Tooltip text for a calendar button
22
+ * The label of the calendar button for screen readers and the tooltip.
23
+ * Also the label of the calendar popup\
24
+ * **Default:** `Choose date`
22
25
  */
23
26
  readonly calendarButtonTooltip?: string;
27
+ /**
28
+ * The label of the «previous» button of the calendar\
29
+ * **Default:** `Previous`
30
+ */
31
+ readonly prevButtonLabel?: string;
32
+ /**
33
+ * The label of the «next» button of the calendar\
34
+ * **Default:** `Next`
35
+ */
36
+ readonly nextButtonLabel?: string;
24
37
  /**
25
38
  * Minimum date limit
26
39
  */
@@ -63,6 +76,10 @@ export type DatePickerProps = Omit<TextFieldProps, 'value' | 'onChange' | 'overr
63
76
  /**
64
77
  * Label for the Today button. If label passed, then button will be rendered
65
78
  */
79
+ readonly todayButtonLabel?: string;
80
+ /**
81
+ * @deprecated Use `todayButtonLabel` instead
82
+ */
66
83
  readonly toodayButtonLabel?: string;
67
84
  /**
68
85
  * Heading
@@ -49,23 +49,54 @@ const StyledMaskedField = (0, styled_1.default)(MaskedField_1.default) `
49
49
  `}
50
50
  `;
51
51
  const DatePicker = props => {
52
- const { value, template, onChange, calendarButtonTooltip, readOnly, disabled, minDate = new Date(new Date().getFullYear() - 100, 0, 1, 0, 0, 0), maxDate = new Date(new Date().getFullYear() + 100, 0, 1, 0, 0, 0), weekStartDay = 'monday', locale = 'ru-RU', badges = [], displayLeadingZero = false, resetButtonLabel, toodayButtonLabel, heading, subheading, view, views, footer, overrides } = props, restInputProps = __rest(props, ["value", "template", "onChange", "calendarButtonTooltip", "readOnly", "disabled", "minDate", "maxDate", "weekStartDay", "locale", "badges", "displayLeadingZero", "resetButtonLabel", "toodayButtonLabel", "heading", "subheading", "view", "views", "footer", "overrides"]);
53
- const {
54
- // Calendar overrides
55
- Body, Cell, EmptyCell, Paper, Header, WeekRow, DateContainer, Toolbar, YearsSelector, MonthsSelector, MonthCell, DayBadge, Footer, ControlButton, Heading, Subheading, IconPrev, IconNext, WeekDaysBar,
56
- // Textfield overrides
57
- Input, ErrorText, IconWrapper, InputWrapper, Label, Asterisk, Container, } = overrides || {};
52
+ const { value, template, onChange, calendarButtonTooltip, readOnly, disabled, minDate: inputMinDate, maxDate: inputMaxDate, weekStartDay = 'monday', locale = 'ru-RU', badges = [], displayLeadingZero = false, resetButtonLabel, todayButtonLabel: todayButtonLabelProp, toodayButtonLabel, markToday, weekDayLabelFormat, heading, subheading, view, views, footer, overrides, prevButtonLabel, nextButtonLabel, inputRef: userInputRef } = props, restInputProps = __rest(props, ["value", "template", "onChange", "calendarButtonTooltip", "readOnly", "disabled", "minDate", "maxDate", "weekStartDay", "locale", "badges", "displayLeadingZero", "resetButtonLabel", "todayButtonLabel", "toodayButtonLabel", "markToday", "weekDayLabelFormat", "heading", "subheading", "view", "views", "footer", "overrides", "prevButtonLabel", "nextButtonLabel", "inputRef"]);
53
+ const calendarLabel = calendarButtonTooltip !== null && calendarButtonTooltip !== void 0 ? calendarButtonTooltip : 'Choose date';
54
+ // The default limits are created once, otherwise every render invalidates the memoized values
55
+ const minDate = react_1.default.useMemo(() => inputMinDate !== null && inputMinDate !== void 0 ? inputMinDate : new Date(new Date().getFullYear() - 100, 0, 1, 0, 0, 0), [inputMinDate]);
56
+ const maxDate = react_1.default.useMemo(() => inputMaxDate !== null && inputMaxDate !== void 0 ? inputMaxDate : new Date(new Date().getFullYear() + 100, 0, 1, 0, 0, 0), [inputMaxDate]);
57
+ const inputRef = react_1.default.useRef(null);
58
+ const buttonRef = react_1.default.useRef(null);
59
+ const popperRef = react_1.default.useRef(null);
60
+ const setInputRef = react_1.default.useCallback((el) => {
61
+ inputRef.current = el;
62
+ if (typeof userInputRef === 'function') {
63
+ userInputRef(el);
64
+ }
65
+ else if (userInputRef) {
66
+ userInputRef.current = el;
67
+ }
68
+ }, [userInputRef]);
69
+ const todayButtonLabel = todayButtonLabelProp !== null && todayButtonLabelProp !== void 0 ? todayButtonLabelProp : toodayButtonLabel;
70
+ const calendarOverrides = react_1.default.useMemo(() => {
71
+ if (!overrides) {
72
+ return undefined;
73
+ }
74
+ const { Input: _Input, ErrorText: _ErrorText, IconWrapper: _IconWrapper, InputWrapper: _InputWrapper, Label: _Label, Asterisk: _Asterisk, Container: _Container } = overrides, rest = __rest(overrides, ["Input", "ErrorText", "IconWrapper", "InputWrapper", "Label", "Asterisk", "Container"]);
75
+ return rest;
76
+ }, [overrides]);
77
+ const textFieldOverrides = react_1.default.useMemo(() => {
78
+ if (!overrides) {
79
+ return undefined;
80
+ }
81
+ const { Input, ErrorText, IconWrapper, InputWrapper, Label, Asterisk, Container } = overrides;
82
+ return { Input, ErrorText, IconWrapper, InputWrapper, Label, Asterisk, Container };
83
+ }, [overrides]);
58
84
  const [currentValue, setCurrentValue] = react_1.default.useState(value);
59
85
  const valueRef = react_1.default.useRef(value);
60
86
  const [textFieldRef, setTextFieldRef] = react_1.default.useState(null);
61
87
  const [isOpen, setOpenSate] = react_1.default.useState(false);
62
88
  const { getMaskByTemplate, formatInputByTemplate, parseInputByTemplate } = (0, useDatePickerFormat_1.default)();
63
89
  react_1.default.useEffect(() => {
64
- const a = value || new Date();
65
- const b = valueRef.current || new Date();
66
- if (a.getFullYear() !== b.getFullYear() ||
67
- a.getMonth() !== b.getMonth() ||
68
- a.getDate() !== b.getDate()) {
90
+ const a = value;
91
+ const b = valueRef.current;
92
+ // null <-> date transitions must be detected too
93
+ const isSameDay = a === b ||
94
+ (a !== null &&
95
+ b !== null &&
96
+ a.getFullYear() === b.getFullYear() &&
97
+ a.getMonth() === b.getMonth() &&
98
+ a.getDate() === b.getDate());
99
+ if (!isSameDay) {
69
100
  valueRef.current = value;
70
101
  setCurrentValue(value);
71
102
  }
@@ -82,12 +113,41 @@ const DatePicker = props => {
82
113
  }, [maxDate]);
83
114
  const handleClick = react_1.default.useCallback(() => {
84
115
  if (readOnly) {
85
- setOpenSate(!isOpen);
116
+ setOpenSate(open => !open);
117
+ }
118
+ }, [readOnly]);
119
+ // The keyboard focus goes to the calendar when it is opened: the selected day, today or the first one
120
+ react_1.default.useEffect(() => {
121
+ if (!isOpen)
122
+ return undefined;
123
+ const frame = requestAnimationFrame(() => {
124
+ var _a, _b;
125
+ (_b = (_a = popperRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('[data-date][tabindex="0"]')) === null || _b === void 0 ? void 0 : _b.focus();
126
+ });
127
+ return () => cancelAnimationFrame(frame);
128
+ }, [isOpen]);
129
+ const close = react_1.default.useCallback(() => {
130
+ var _a, _b;
131
+ setOpenSate(false);
132
+ // Back to the field, so the keyboard user continues from the same place
133
+ (_b = (readOnly ? inputRef.current : ((_a = buttonRef.current) !== null && _a !== void 0 ? _a : inputRef.current))) === null || _b === void 0 ? void 0 : _b.focus();
134
+ }, [readOnly]);
135
+ const handlePopperKeyDown = react_1.default.useCallback((event) => {
136
+ if (event.key === 'Escape') {
137
+ event.stopPropagation();
138
+ close();
86
139
  }
87
- }, [isOpen, readOnly]);
88
- const endIcon = react_1.default.useMemo(() => (react_1.default.createElement(Button_1.default, { disabled: disabled, iconOnly: true, variant: "plain", type: "button", onClick: () => setOpenSate(true), title: calendarButtonTooltip },
89
- react_1.default.createElement(DatePickerIcon_1.default, null))), [calendarButtonTooltip, disabled]);
140
+ }, [close]);
141
+ const endIcon = react_1.default.useMemo(() => (react_1.default.createElement(Button_1.default, { ref: buttonRef, disabled: disabled, iconOnly: true, variant: "plain", type: "button", onClick: () => setOpenSate(open => !open), title: calendarLabel, "aria-label": calendarLabel, "aria-haspopup": "dialog", "aria-expanded": isOpen },
142
+ react_1.default.createElement(DatePickerIcon_1.default, null))), [calendarLabel, disabled, isOpen]);
90
143
  const handleChange = react_1.default.useCallback(({ isValid, text }) => {
144
+ // The field was cleared: the date is reset
145
+ if (text.trim() === '') {
146
+ if (currentValue !== null) {
147
+ onChange(null);
148
+ }
149
+ return;
150
+ }
91
151
  if (isValid) {
92
152
  const parsedDate = parseInputByTemplate(text, template);
93
153
  // Trying to parse the input date value
@@ -110,6 +170,7 @@ const DatePicker = props => {
110
170
  }
111
171
  }
112
172
  }, [
173
+ currentValue,
113
174
  isGreatherThenMinDate,
114
175
  isLessThenMaxDate,
115
176
  maxDate,
@@ -118,17 +179,17 @@ const DatePicker = props => {
118
179
  parseInputByTemplate,
119
180
  template,
120
181
  ]);
121
- const calendarValue = react_1.default.useMemo(() => currentValue || new Date(), [currentValue]);
122
182
  const calendarChange = react_1.default.useCallback(date => {
123
- if (date) {
124
- onChange(date);
125
- }
183
+ var _a;
184
+ // null comes from the «Reset» button of the calendar
185
+ onChange(date !== null && date !== void 0 ? date : null);
126
186
  setOpenSate(false);
187
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
127
188
  }, [onChange]);
128
189
  return (react_1.default.createElement(react_1.default.Fragment, null,
129
- react_1.default.createElement(StyledMaskedField, Object.assign({ onClick: handleClick, disabled: disabled, mask: getMaskByTemplate(template), ref: setTextFieldRef, readOnly: readOnly, endIcon: endIcon }, restInputProps, { value: currentValue ? formatInputByTemplate(currentValue, template) : '', onChange: handleChange })),
130
- react_1.default.createElement(ClickOutside_1.default, { onOutsideClick: () => setOpenSate(false), mouseEvent: "onMouseDown" },
131
- react_1.default.createElement(Popper_1.default, { isOpen: isOpen, anchorElement: textFieldRef },
132
- react_1.default.createElement(Calendar_1.default, { minDate: minDate, maxDate: maxDate, weekStartDay: weekStartDay, locale: locale, badges: badges, displayLeadingZero: displayLeadingZero, resetButtonLabel: resetButtonLabel, todayButtonLabel: toodayButtonLabel, heading: heading, subheading: subheading, view: view, views: views, footer: footer, value: calendarValue, onChange: calendarChange })))));
190
+ react_1.default.createElement(StyledMaskedField, Object.assign({ onClick: handleClick, disabled: disabled, mask: getMaskByTemplate(template), ref: setTextFieldRef, readOnly: readOnly, endIcon: endIcon }, restInputProps, { inputRef: setInputRef, value: currentValue ? formatInputByTemplate(currentValue, template) : '', onChange: handleChange, overrides: textFieldOverrides })),
191
+ react_1.default.createElement(ClickOutside_1.default, { onOutsideClick: () => setOpenSate(false), mouseEvent: "onMouseDown", ignoreElements: [textFieldRef] },
192
+ react_1.default.createElement(Popper_1.default, { ref: popperRef, isOpen: isOpen, anchorElement: textFieldRef, role: "dialog", "aria-label": calendarLabel, onKeyDown: handlePopperKeyDown },
193
+ react_1.default.createElement(Calendar_1.default, { minDate: minDate, maxDate: maxDate, weekStartDay: weekStartDay, locale: locale, badges: badges, displayLeadingZero: displayLeadingZero, resetButtonLabel: resetButtonLabel, todayButtonLabel: todayButtonLabel, markToday: markToday, weekDayLabelFormat: weekDayLabelFormat, heading: heading, subheading: subheading, view: view, views: views, footer: footer, prevButtonLabel: prevButtonLabel, nextButtonLabel: nextButtonLabel, value: currentValue, onChange: calendarChange, overrides: calendarOverrides })))));
133
194
  };
134
195
  exports.default = DatePicker;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.useDatePickerFormat = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const useDatePickerFormat = () => {
9
- const templateValidChars = react_1.default.useMemo(() => ['y', 'Y', 'yy', 'yyyy', 'd', 'dd', 'D', 'm', 'mm'], []);
9
+ const templateValidChars = react_1.default.useMemo(() => ['y', 'Y', 'yy', 'yyyy', 'YYYY', 'd', 'dd', 'D', 'DD', 'm', 'mm'], []);
10
10
  const isValidTemplate = react_1.default.useCallback((template) => {
11
11
  const matches = template.match(/[yYmMdD]+/g);
12
12
  if (!matches) {
@@ -48,12 +48,14 @@ const useDatePickerFormat = () => {
48
48
  template.split('').forEach((char, charIndex) => {
49
49
  switch (char) {
50
50
  case 'y':
51
+ case 'Y':
51
52
  data.years.push(input[charIndex]);
52
53
  break;
53
54
  case 'm':
54
55
  data.months.push(input[charIndex]);
55
56
  break;
56
57
  case 'd':
58
+ case 'D':
57
59
  data.days.push(input[charIndex]);
58
60
  break;
59
61
  default:
@@ -61,8 +63,23 @@ const useDatePickerFormat = () => {
61
63
  break;
62
64
  }
63
65
  });
64
- return new Date(parseInt(data.years.join(''), 10), parseInt(data.months.join(''), 10) - 1, // Fucking month indexes
65
- parseInt(data.days.join(''), 10));
66
+ let year = parseInt(data.years.join(''), 10);
67
+ const month = parseInt(data.months.join(''), 10) - 1; // Fucking month indexes
68
+ const day = parseInt(data.days.join(''), 10);
69
+ if (isNaN(year) || isNaN(month) || isNaN(day)) {
70
+ return null;
71
+ }
72
+ // Two-digit year means the current century (new Date() maps 0-99 to 1900-1999)
73
+ if (data.years.length <= 2) {
74
+ year += 2000;
75
+ }
76
+ const date = new Date(year, month, day);
77
+ date.setFullYear(year);
78
+ // Reject overflowed dates like 31.02 instead of silently moving them to March
79
+ if (date.getFullYear() !== year || date.getMonth() !== month || date.getDate() !== day) {
80
+ return null;
81
+ }
82
+ return date;
66
83
  }, [validateTemplate]);
67
84
  /**
68
85
  * Format date to string by template