@via-profit/ui-kit 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) 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 +91 -35
  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 +1 -0
  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 +122 -0
  50. package/Calendar/CalendarCell.js +11 -4
  51. package/Calendar/CalendarComponent.d.ts +15 -4
  52. package/Calendar/CalendarComponent.js +150 -55
  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 +1 -1
  61. package/Checkbox/CheckboxAsterisk.d.ts +13 -0
  62. package/{Autocomplete2/Autocomplete2TextField.js → Checkbox/CheckboxAsterisk.js} +24 -10
  63. package/Checkbox/CheckboxBox.d.ts +22 -0
  64. package/Checkbox/CheckboxBox.js +88 -0
  65. package/Checkbox/CheckboxContainer.d.ts +27 -0
  66. package/Checkbox/CheckboxContainer.js +38 -0
  67. package/Checkbox/CheckboxErrorText.d.ts +6 -0
  68. package/Checkbox/CheckboxErrorText.js +76 -0
  69. package/Checkbox/CheckboxIcon.d.ts +10 -0
  70. package/Checkbox/CheckboxIcon.js +57 -0
  71. package/Checkbox/CheckboxTextWrapper.d.ts +4 -0
  72. package/Checkbox/CheckboxTextWrapper.js +29 -0
  73. package/Checkbox/CheckboxWrapper.d.ts +4 -0
  74. package/Checkbox/CheckboxWrapper.js +29 -0
  75. package/Checkbox/index.d.ts +144 -0
  76. package/Checkbox/index.js +71 -0
  77. package/Checkbox/useCheckboxColor.d.ts +6 -0
  78. package/Checkbox/useCheckboxColor.js +33 -0
  79. package/ClickOutside/index.d.ts +6 -0
  80. package/ClickOutside/index.js +7 -2
  81. package/Color/Color.d.ts +4 -4
  82. package/Color/Color.js +9 -5
  83. package/Color/ColorGenerator.d.ts +5 -1
  84. package/CountryFlags/AC.js +5 -1
  85. package/CountryFlags/AD.js +5 -1
  86. package/CountryFlags/AE.js +5 -1
  87. package/CountryFlags/AF.js +5 -1
  88. package/CountryFlags/AG.js +5 -1
  89. package/CountryFlags/AI.js +5 -1
  90. package/CountryFlags/AL.js +5 -1
  91. package/CountryFlags/AM.js +5 -1
  92. package/CountryFlags/AO.js +5 -1
  93. package/CountryFlags/AQ.js +5 -1
  94. package/CountryFlags/AR.js +5 -1
  95. package/CountryFlags/AS.js +5 -1
  96. package/CountryFlags/AT.js +5 -1
  97. package/CountryFlags/AU.js +5 -1
  98. package/CountryFlags/AW.js +5 -1
  99. package/CountryFlags/AX.js +5 -1
  100. package/CountryFlags/AZ.js +5 -1
  101. package/CountryFlags/BA.js +5 -1
  102. package/CountryFlags/BB.js +5 -1
  103. package/CountryFlags/BD.js +5 -1
  104. package/CountryFlags/BE.js +5 -1
  105. package/CountryFlags/BF.js +5 -1
  106. package/CountryFlags/BG.js +5 -1
  107. package/CountryFlags/BH.js +5 -1
  108. package/CountryFlags/BI.js +5 -1
  109. package/CountryFlags/BJ.js +5 -1
  110. package/CountryFlags/BL.js +5 -1
  111. package/CountryFlags/BM.js +5 -1
  112. package/CountryFlags/BN.js +5 -1
  113. package/CountryFlags/BO.js +5 -1
  114. package/CountryFlags/BQ.js +5 -1
  115. package/CountryFlags/BR.js +5 -1
  116. package/CountryFlags/BS.js +5 -1
  117. package/CountryFlags/BT.js +5 -1
  118. package/CountryFlags/BV.js +5 -1
  119. package/CountryFlags/BW.js +5 -1
  120. package/CountryFlags/BY.js +5 -1
  121. package/CountryFlags/BZ.js +5 -1
  122. package/CountryFlags/CA.js +5 -1
  123. package/CountryFlags/CC.js +5 -1
  124. package/CountryFlags/CD.js +5 -1
  125. package/CountryFlags/CF.js +5 -1
  126. package/CountryFlags/CG.js +5 -1
  127. package/CountryFlags/CH.js +5 -1
  128. package/CountryFlags/CI.js +5 -1
  129. package/CountryFlags/CK.js +5 -1
  130. package/CountryFlags/CL.js +5 -1
  131. package/CountryFlags/CM.js +5 -1
  132. package/CountryFlags/CN.js +5 -1
  133. package/CountryFlags/CO.js +5 -1
  134. package/CountryFlags/CR.js +5 -1
  135. package/CountryFlags/CU.js +5 -1
  136. package/CountryFlags/CV.js +5 -1
  137. package/CountryFlags/CW.js +5 -1
  138. package/CountryFlags/CX.js +5 -1
  139. package/CountryFlags/CY.js +5 -1
  140. package/CountryFlags/CZ.js +5 -1
  141. package/CountryFlags/DE.js +5 -1
  142. package/CountryFlags/DJ.js +5 -1
  143. package/CountryFlags/DK.js +5 -1
  144. package/CountryFlags/DM.js +5 -1
  145. package/CountryFlags/DO.js +5 -1
  146. package/CountryFlags/DZ.js +5 -1
  147. package/CountryFlags/EC.js +5 -1
  148. package/CountryFlags/EE.js +5 -1
  149. package/CountryFlags/EG.js +5 -1
  150. package/CountryFlags/EH.js +5 -1
  151. package/CountryFlags/ER.js +5 -1
  152. package/CountryFlags/ES.js +5 -1
  153. package/CountryFlags/ET.js +5 -1
  154. package/CountryFlags/EU.js +5 -1
  155. package/CountryFlags/FI.js +5 -1
  156. package/CountryFlags/FJ.js +5 -1
  157. package/CountryFlags/FK.js +5 -1
  158. package/CountryFlags/FM.js +5 -1
  159. package/CountryFlags/FO.js +5 -1
  160. package/CountryFlags/FR.js +5 -1
  161. package/CountryFlags/GA.js +5 -1
  162. package/CountryFlags/GB.js +5 -1
  163. package/CountryFlags/GD.js +5 -1
  164. package/CountryFlags/GE.js +5 -1
  165. package/CountryFlags/GEAB.js +5 -1
  166. package/CountryFlags/GEOS.js +5 -1
  167. package/CountryFlags/GF.js +5 -1
  168. package/CountryFlags/GG.js +5 -1
  169. package/CountryFlags/GH.js +5 -1
  170. package/CountryFlags/GI.js +5 -1
  171. package/CountryFlags/GL.js +5 -1
  172. package/CountryFlags/GM.js +5 -1
  173. package/CountryFlags/GN.js +5 -1
  174. package/CountryFlags/GP.js +5 -1
  175. package/CountryFlags/GQ.js +5 -1
  176. package/CountryFlags/GR.js +5 -1
  177. package/CountryFlags/GS.js +5 -1
  178. package/CountryFlags/GT.js +5 -1
  179. package/CountryFlags/GU.js +5 -1
  180. package/CountryFlags/GW.js +5 -1
  181. package/CountryFlags/GY.js +5 -1
  182. package/CountryFlags/HK.js +5 -1
  183. package/CountryFlags/HM.js +5 -1
  184. package/CountryFlags/HN.js +5 -1
  185. package/CountryFlags/HR.js +5 -1
  186. package/CountryFlags/HT.js +5 -1
  187. package/CountryFlags/HU.js +5 -1
  188. package/CountryFlags/IC.js +5 -1
  189. package/CountryFlags/ID.js +5 -1
  190. package/CountryFlags/IE.js +5 -1
  191. package/CountryFlags/IL.js +5 -1
  192. package/CountryFlags/IM.js +5 -1
  193. package/CountryFlags/IN.js +5 -1
  194. package/CountryFlags/IO.js +5 -1
  195. package/CountryFlags/IQ.js +5 -1
  196. package/CountryFlags/IR.js +5 -1
  197. package/CountryFlags/IS.js +5 -1
  198. package/CountryFlags/IT.js +5 -1
  199. package/CountryFlags/JE.js +5 -1
  200. package/CountryFlags/JM.js +5 -1
  201. package/CountryFlags/JO.js +5 -1
  202. package/CountryFlags/JP.js +5 -1
  203. package/CountryFlags/KE.js +5 -1
  204. package/CountryFlags/KG.js +5 -1
  205. package/CountryFlags/KH.js +5 -1
  206. package/CountryFlags/KI.js +5 -1
  207. package/CountryFlags/KM.js +5 -1
  208. package/CountryFlags/KN.js +5 -1
  209. package/CountryFlags/KP.js +5 -1
  210. package/CountryFlags/KR.js +5 -1
  211. package/CountryFlags/KW.js +5 -1
  212. package/CountryFlags/KY.js +5 -1
  213. package/CountryFlags/KZ.js +5 -1
  214. package/CountryFlags/LA.js +5 -1
  215. package/CountryFlags/LB.js +5 -1
  216. package/CountryFlags/LC.js +5 -1
  217. package/CountryFlags/LI.js +5 -1
  218. package/CountryFlags/LK.js +5 -1
  219. package/CountryFlags/LR.js +5 -1
  220. package/CountryFlags/LS.js +5 -1
  221. package/CountryFlags/LT.js +5 -1
  222. package/CountryFlags/LU.js +5 -1
  223. package/CountryFlags/LV.js +5 -1
  224. package/CountryFlags/LY.js +5 -1
  225. package/CountryFlags/MA.js +5 -1
  226. package/CountryFlags/MC.js +5 -1
  227. package/CountryFlags/MD.js +5 -1
  228. package/CountryFlags/ME.js +5 -1
  229. package/CountryFlags/MF.js +5 -1
  230. package/CountryFlags/MG.js +5 -1
  231. package/CountryFlags/MH.js +5 -1
  232. package/CountryFlags/MK.js +5 -1
  233. package/CountryFlags/ML.js +5 -1
  234. package/CountryFlags/MM.js +5 -1
  235. package/CountryFlags/MN.js +5 -1
  236. package/CountryFlags/MO.js +5 -1
  237. package/CountryFlags/MP.js +5 -1
  238. package/CountryFlags/MQ.js +5 -1
  239. package/CountryFlags/MR.js +5 -1
  240. package/CountryFlags/MS.js +5 -1
  241. package/CountryFlags/MT.js +5 -1
  242. package/CountryFlags/MU.js +5 -1
  243. package/CountryFlags/MV.js +5 -1
  244. package/CountryFlags/MW.js +5 -1
  245. package/CountryFlags/MX.js +5 -1
  246. package/CountryFlags/MY.js +5 -1
  247. package/CountryFlags/MZ.js +5 -1
  248. package/CountryFlags/NA.js +5 -1
  249. package/CountryFlags/NC.js +5 -1
  250. package/CountryFlags/NE.js +5 -1
  251. package/CountryFlags/NF.js +5 -1
  252. package/CountryFlags/NG.js +5 -1
  253. package/CountryFlags/NI.js +5 -1
  254. package/CountryFlags/NL.js +5 -1
  255. package/CountryFlags/NO.js +5 -1
  256. package/CountryFlags/NP.js +5 -1
  257. package/CountryFlags/NR.js +5 -1
  258. package/CountryFlags/NU.js +5 -1
  259. package/CountryFlags/NZ.js +5 -1
  260. package/CountryFlags/OM.js +5 -1
  261. package/CountryFlags/PA.js +5 -1
  262. package/CountryFlags/PE.js +5 -1
  263. package/CountryFlags/PF.js +5 -1
  264. package/CountryFlags/PG.js +5 -1
  265. package/CountryFlags/PH.js +5 -1
  266. package/CountryFlags/PK.js +5 -1
  267. package/CountryFlags/PL.js +5 -1
  268. package/CountryFlags/PM.js +5 -1
  269. package/CountryFlags/PN.js +5 -1
  270. package/CountryFlags/PR.js +5 -1
  271. package/CountryFlags/PS.js +5 -1
  272. package/CountryFlags/PT.js +5 -1
  273. package/CountryFlags/PW.js +5 -1
  274. package/CountryFlags/PY.js +5 -1
  275. package/CountryFlags/QA.js +5 -1
  276. package/CountryFlags/RE.js +5 -1
  277. package/CountryFlags/RO.js +5 -1
  278. package/CountryFlags/RS.js +5 -1
  279. package/CountryFlags/RU.js +5 -1
  280. package/CountryFlags/RW.js +5 -1
  281. package/CountryFlags/SA.js +5 -1
  282. package/CountryFlags/SB.js +5 -1
  283. package/CountryFlags/SC.js +5 -1
  284. package/CountryFlags/SD.js +5 -1
  285. package/CountryFlags/SE.js +5 -1
  286. package/CountryFlags/SG.js +5 -1
  287. package/CountryFlags/SH.js +5 -1
  288. package/CountryFlags/SI.js +5 -1
  289. package/CountryFlags/SJ.js +5 -1
  290. package/CountryFlags/SK.js +5 -1
  291. package/CountryFlags/SL.js +5 -1
  292. package/CountryFlags/SM.js +5 -1
  293. package/CountryFlags/SN.js +5 -1
  294. package/CountryFlags/SO.js +5 -1
  295. package/CountryFlags/SR.js +5 -1
  296. package/CountryFlags/SS.js +5 -1
  297. package/CountryFlags/ST.js +5 -1
  298. package/CountryFlags/SV.js +5 -1
  299. package/CountryFlags/SX.js +5 -1
  300. package/CountryFlags/SY.js +5 -1
  301. package/CountryFlags/SZ.js +5 -1
  302. package/CountryFlags/TA.js +5 -1
  303. package/CountryFlags/TC.js +5 -1
  304. package/CountryFlags/TD.js +5 -1
  305. package/CountryFlags/TF.js +5 -1
  306. package/CountryFlags/TG.js +5 -1
  307. package/CountryFlags/TH.js +5 -1
  308. package/CountryFlags/TJ.js +5 -1
  309. package/CountryFlags/TK.js +5 -1
  310. package/CountryFlags/TL.js +5 -1
  311. package/CountryFlags/TM.js +5 -1
  312. package/CountryFlags/TN.js +5 -1
  313. package/CountryFlags/TO.js +5 -1
  314. package/CountryFlags/TR.js +5 -1
  315. package/CountryFlags/TT.js +5 -1
  316. package/CountryFlags/TV.js +5 -1
  317. package/CountryFlags/TW.js +5 -1
  318. package/CountryFlags/TZ.js +5 -1
  319. package/CountryFlags/UA.js +5 -1
  320. package/CountryFlags/UG.js +5 -1
  321. package/CountryFlags/UM.js +5 -1
  322. package/CountryFlags/US.js +5 -1
  323. package/CountryFlags/UY.js +5 -1
  324. package/CountryFlags/UZ.js +5 -1
  325. package/CountryFlags/Uknown.d.ts +7 -3
  326. package/CountryFlags/Uknown.js +9 -31
  327. package/CountryFlags/Unknown.d.ts +3 -0
  328. package/CountryFlags/Unknown.js +42 -0
  329. package/CountryFlags/VA.js +5 -1
  330. package/CountryFlags/VC.js +5 -1
  331. package/CountryFlags/VE.js +5 -1
  332. package/CountryFlags/VG.js +5 -1
  333. package/CountryFlags/VI.js +5 -1
  334. package/CountryFlags/VN.js +5 -1
  335. package/CountryFlags/VU.js +5 -1
  336. package/CountryFlags/WF.js +5 -1
  337. package/CountryFlags/WS.js +5 -1
  338. package/CountryFlags/XK.js +5 -1
  339. package/CountryFlags/YE.js +5 -1
  340. package/CountryFlags/YT.js +5 -1
  341. package/CountryFlags/ZA.js +5 -1
  342. package/CountryFlags/ZM.js +5 -1
  343. package/CountryFlags/ZW.js +5 -1
  344. package/CountryFlags/index.d.ts +2 -1
  345. package/CountryFlags/index.js +3 -1
  346. package/CountryFlags/isLabelled.d.ts +6 -0
  347. package/CountryFlags/isLabelled.js +7 -0
  348. package/DatePicker/index.d.ts +19 -6
  349. package/DatePicker/index.js +59 -12
  350. package/Grid/index.d.ts +60 -0
  351. package/Grid/index.js +43 -0
  352. package/Highlighted/index.d.ts +1 -1
  353. package/Highlighted/index.js +14 -10
  354. package/LoadingIndicator/LoadingOverlay.d.ts +11 -0
  355. package/LoadingIndicator/LoadingOverlay.js +63 -0
  356. package/LoadingIndicator/Spinner.d.ts +34 -5
  357. package/LoadingIndicator/Spinner.js +48 -37
  358. package/LoadingIndicator/SpinnerCircle.d.ts +14 -0
  359. package/LoadingIndicator/SpinnerCircle.js +34 -0
  360. package/LoadingIndicator/index.d.ts +8 -3
  361. package/LoadingIndicator/index.js +9 -15
  362. package/MaskedField/index.d.ts +3 -2
  363. package/MaskedField/index.js +7 -2
  364. package/MaskedField/templates.js +2 -0
  365. package/MaskedField/useMasked.js +9 -6
  366. package/Menu/MenuContainer.d.ts +8 -0
  367. package/Menu/MenuContainer.js +101 -30
  368. package/Menu/MenuItem.js +1 -1
  369. package/Menu/context.js +5 -0
  370. package/Modal/BaseModal/useDialogID.d.ts +6 -0
  371. package/Modal/BaseModal/useDialogID.js +12 -0
  372. package/Modal/ConfirmBox/ConfirmBoxContainer.js +5 -1
  373. package/Modal/ConfirmBox/index.js +2 -1
  374. package/Modal/Dialog/DialogInner.js +1 -1
  375. package/Modal/Dialog/index.js +12 -7
  376. package/Modal/Drawer/DrawerHeader.d.ts +20 -0
  377. package/Modal/Drawer/DrawerHeader.js +3 -3
  378. package/Modal/Drawer/DrawerInner.js +9 -1
  379. package/Modal/Drawer/index.d.ts +7 -0
  380. package/Modal/Drawer/index.js +12 -10
  381. package/Modal/MessageBox/MessageBoxContainer.js +1 -1
  382. package/Modal/MessageBox/index.js +2 -1
  383. package/PhoneField/CountryFlagComponent.js +2 -2
  384. package/PhoneField/UnknownFlag.d.ts +6 -3
  385. package/PhoneField/UnknownFlag.js +8 -31
  386. package/PhoneField/index.js +45 -55
  387. package/PhoneField/templates.js +13 -14
  388. package/PhoneField/usePhoneUtils.d.ts +15 -0
  389. package/PhoneField/usePhoneUtils.js +30 -37
  390. package/Popper/Popper.d.ts +28 -8
  391. package/Popper/usePopper.d.ts +21 -31
  392. package/README.md +27 -10
  393. package/Radio/RadioBox.d.ts +14 -0
  394. package/Radio/RadioBox.js +100 -0
  395. package/Radio/RadioContainer.d.ts +27 -0
  396. package/Radio/RadioContainer.js +38 -0
  397. package/Radio/RadioTextWrapper.d.ts +4 -0
  398. package/Radio/RadioTextWrapper.js +29 -0
  399. package/Radio/index.d.ts +64 -0
  400. package/Radio/index.js +49 -0
  401. package/Radio/useRadioColor.d.ts +6 -0
  402. package/Radio/useRadioColor.js +33 -0
  403. package/RadioGroup/RadioGroupAsterisk.d.ts +13 -0
  404. package/RadioGroup/RadioGroupAsterisk.js +53 -0
  405. package/RadioGroup/RadioGroupContainer.d.ts +4 -0
  406. package/RadioGroup/RadioGroupContainer.js +36 -0
  407. package/RadioGroup/RadioGroupContext.d.ts +20 -0
  408. package/RadioGroup/RadioGroupContext.js +11 -0
  409. package/RadioGroup/RadioGroupErrorText.d.ts +6 -0
  410. package/RadioGroup/RadioGroupErrorText.js +76 -0
  411. package/RadioGroup/RadioGroupItems.d.ts +9 -0
  412. package/RadioGroup/RadioGroupItems.js +30 -0
  413. package/RadioGroup/RadioGroupLegend.d.ts +4 -0
  414. package/RadioGroup/RadioGroupLegend.js +37 -0
  415. package/RadioGroup/index.d.ts +134 -0
  416. package/RadioGroup/index.js +62 -0
  417. package/Selectbox/index.d.ts +18 -2
  418. package/Selectbox/index.js +23 -7
  419. package/Stack/index.d.ts +62 -0
  420. package/Stack/index.js +38 -0
  421. package/Surface/SurfaceContainer.js +6 -0
  422. package/Surface/index.js +7 -3
  423. package/Swiper/Swiper.d.ts +28 -2
  424. package/Swiper/Swiper.js +233 -90
  425. package/Swiper/SwiperContainer.js +0 -2
  426. package/Swiper/SwiperSlidesRenderer.d.ts +8 -0
  427. package/Swiper/SwiperSlidesRenderer.js +17 -14
  428. package/Swiper/SwiperTrack.d.ts +8 -0
  429. package/Swiper/SwiperTrack.js +8 -3
  430. package/Swiper/SwiperWrapper.js +9 -1
  431. package/Switch/SwitchContainer.d.ts +1 -1
  432. package/Switch/SwitchContainer.js +5 -5
  433. package/Switch/SwitchDot.js +13 -53
  434. package/Switch/SwitchToggleWrapper.d.ts +1 -1
  435. package/Switch/SwitchToggleWrapper.js +5 -6
  436. package/Switch/SwitchTrack.js +5 -41
  437. package/Switch/index.d.ts +4 -4
  438. package/Switch/index.js +21 -11
  439. package/Switch/useSwitchColor.d.ts +7 -0
  440. package/Switch/useSwitchColor.js +33 -0
  441. package/Table/Table.d.ts +6 -0
  442. package/Table/Table.js +7 -62
  443. package/Table/TableBody.d.ts +1 -1
  444. package/Table/TableBody.js +4 -2
  445. package/Table/TableCaption.d.ts +2 -2
  446. package/Table/TableCaption.js +2 -3
  447. package/Table/TableCell.js +2 -5
  448. package/Table/TableFooter.js +8 -7
  449. package/Table/TableHeader.js +6 -2
  450. package/Table/TableHeaderCell.js +8 -9
  451. package/Table/TableRow.js +1 -5
  452. package/TextArea/TextAreaIconWrapper.d.ts +1 -1
  453. package/TextArea/TextAreaInput.js +2 -0
  454. package/TextArea/index.js +1 -1
  455. package/TextField/TextFieldInput.js +2 -0
  456. package/TextField/TextFieldInputWrapper.d.ts +2 -0
  457. package/TextField/TextFieldInputWrapper.js +12 -2
  458. package/TextField/index.js +1 -1
  459. package/ThemeProvider/createTheme.js +2 -3
  460. package/ThemeProvider/index.d.ts +19 -2
  461. package/Typography/Base.d.ts +1 -1
  462. package/Typography/Base.js +1 -1
  463. package/Typography/Blockquote.js +1 -1
  464. package/Typography/Del.js +2 -2
  465. package/Typography/H4.js +1 -1
  466. package/Typography/H5.js +2 -2
  467. package/Typography/H6.d.ts +4 -0
  468. package/Typography/H6.js +28 -0
  469. package/Typography/SectionDescription.js +0 -1
  470. package/Typography/SectionTitle.d.ts +4 -7
  471. package/Typography/SectionTitle.js +26 -8
  472. package/Typography/index.d.ts +27 -0
  473. package/Typography/index.js +35 -0
  474. package/package.json +2 -4
  475. package/utils/spacing.d.ts +11 -0
  476. package/utils/spacing.js +14 -0
  477. package/Autocomplete/OverrideMenuList.d.ts +0 -4
  478. package/Autocomplete/OverrideMenuList.js +0 -39
  479. package/Autocomplete2/Autocomplete2.d.ts +0 -12
  480. package/Autocomplete2/Autocomplete2.js +0 -83
  481. package/Autocomplete2/Autocomplete2TextField.d.ts +0 -7
  482. package/Autocomplete2/index.d.ts +0 -2
  483. package/Autocomplete2/index.js +0 -7
  484. package/CountryFlags/SwiperOverview.d.ts +0 -257
  485. package/CountryFlags/SwiperOverview.js +0 -524
@@ -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
  */
@@ -49,7 +49,23 @@ 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, todayButtonLabel: todayButtonLabelProp, toodayButtonLabel, markToday, weekDayLabelFormat, heading, subheading, view, views, footer, overrides } = 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"]);
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]);
53
69
  const todayButtonLabel = todayButtonLabelProp !== null && todayButtonLabelProp !== void 0 ? todayButtonLabelProp : toodayButtonLabel;
54
70
  const calendarOverrides = react_1.default.useMemo(() => {
55
71
  if (!overrides) {
@@ -97,12 +113,41 @@ const DatePicker = props => {
97
113
  }, [maxDate]);
98
114
  const handleClick = react_1.default.useCallback(() => {
99
115
  if (readOnly) {
100
- setOpenSate(!isOpen);
116
+ setOpenSate(open => !open);
101
117
  }
102
- }, [isOpen, readOnly]);
103
- 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 },
104
- react_1.default.createElement(DatePickerIcon_1.default, null))), [calendarButtonTooltip, disabled]);
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();
139
+ }
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]);
105
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
+ }
106
151
  if (isValid) {
107
152
  const parsedDate = parseInputByTemplate(text, template);
108
153
  // Trying to parse the input date value
@@ -125,6 +170,7 @@ const DatePicker = props => {
125
170
  }
126
171
  }
127
172
  }, [
173
+ currentValue,
128
174
  isGreatherThenMinDate,
129
175
  isLessThenMaxDate,
130
176
  maxDate,
@@ -134,15 +180,16 @@ const DatePicker = props => {
134
180
  template,
135
181
  ]);
136
182
  const calendarChange = react_1.default.useCallback(date => {
137
- if (date) {
138
- onChange(date);
139
- }
183
+ var _a;
184
+ // null comes from the «Reset» button of the calendar
185
+ onChange(date !== null && date !== void 0 ? date : null);
140
186
  setOpenSate(false);
187
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
141
188
  }, [onChange]);
142
189
  return (react_1.default.createElement(react_1.default.Fragment, null,
143
- 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, overrides: textFieldOverrides })),
144
- react_1.default.createElement(ClickOutside_1.default, { onOutsideClick: () => setOpenSate(false), mouseEvent: "onMouseDown" },
145
- react_1.default.createElement(Popper_1.default, { isOpen: isOpen, anchorElement: textFieldRef },
146
- 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, value: currentValue, onChange: calendarChange, overrides: calendarOverrides })))));
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 })))));
147
194
  };
148
195
  exports.default = DatePicker;
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import { Spacing } from '../utils/spacing';
3
+ export type { Spacing };
4
+ export type GridProps = React.HTMLAttributes<HTMLDivElement> & {
5
+ /**
6
+ * The adaptive grid: as many columns as fit, every column is not narrower than this width.
7
+ * On a narrow screen the columns become one column by themselves, without breakpoints.\
8
+ * Wins over `columns`
9
+ */
10
+ readonly minColumnWidth?: string;
11
+ /**
12
+ * A number — that many equal columns, a string — the `grid-template-columns` value
13
+ * (e.g. `'2fr 1fr'` or `'auto 1fr'`)\
14
+ * **Default:** `1`
15
+ */
16
+ readonly columns?: number | string;
17
+ /**
18
+ * The gap between the cells: a step of the theme spacing scale or any CSS length\
19
+ * **Default:** `md`
20
+ */
21
+ readonly gap?: Spacing;
22
+ /**
23
+ * The gap between the rows, if it differs from `gap`
24
+ */
25
+ readonly rowGap?: Spacing;
26
+ /**
27
+ * The vertical alignment of the cells in a row (`align-items`)\
28
+ * **Default:** `stretch`
29
+ */
30
+ readonly align?: React.CSSProperties['alignItems'];
31
+ };
32
+ declare const _default: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
33
+ /**
34
+ * The adaptive grid: as many columns as fit, every column is not narrower than this width.
35
+ * On a narrow screen the columns become one column by themselves, without breakpoints.\
36
+ * Wins over `columns`
37
+ */
38
+ readonly minColumnWidth?: string | undefined;
39
+ /**
40
+ * A number — that many equal columns, a string — the `grid-template-columns` value
41
+ * (e.g. `'2fr 1fr'` or `'auto 1fr'`)\
42
+ * **Default:** `1`
43
+ */
44
+ readonly columns?: string | number | undefined;
45
+ /**
46
+ * The gap between the cells: a step of the theme spacing scale or any CSS length\
47
+ * **Default:** `md`
48
+ */
49
+ readonly gap?: Spacing | undefined;
50
+ /**
51
+ * The gap between the rows, if it differs from `gap`
52
+ */
53
+ readonly rowGap?: Spacing | undefined;
54
+ /**
55
+ * The vertical alignment of the cells in a row (`align-items`)\
56
+ * **Default:** `stretch`
57
+ */
58
+ readonly align?: import("csstype").Property.AlignItems | undefined;
59
+ } & React.RefAttributes<HTMLDivElement>>;
60
+ export default _default;
package/Grid/index.js ADDED
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ const react_1 = __importDefault(require("react"));
18
+ const styled_1 = __importDefault(require("@emotion/styled"));
19
+ const spacing_1 = require("../utils/spacing");
20
+ const StyledGrid = styled_1.default.div `
21
+ display: grid;
22
+ grid-template-columns: ${({ $template }) => $template};
23
+ gap: ${({ theme, $gap }) => (0, spacing_1.resolveSpacing)(theme, $gap)};
24
+ ${({ theme, $rowGap }) => typeof $rowGap !== 'undefined' ? `row-gap: ${(0, spacing_1.resolveSpacing)(theme, $rowGap)};` : ''}
25
+ align-items: ${({ $align }) => $align !== null && $align !== void 0 ? $align : 'stretch'};
26
+ min-width: 0;
27
+ `;
28
+ const getTemplate = (minColumnWidth, columns) => {
29
+ if (minColumnWidth) {
30
+ // min(…, 100%): a column wider than the container does not overflow it
31
+ return `repeat(auto-fit, minmax(min(${minColumnWidth}, 100%), 1fr))`;
32
+ }
33
+ // minmax(0, 1fr): a long word or a wide child does not stretch its column
34
+ return typeof columns === 'number' ? `repeat(${columns}, minmax(0, 1fr))` : columns;
35
+ };
36
+ /**
37
+ * The grid of cells with the same gap. The children are the cells: no wrappers for the items
38
+ */
39
+ const Grid = (props, ref) => {
40
+ const { children, minColumnWidth, columns = 1, gap = 'md', rowGap, align } = props, nativeProps = __rest(props, ["children", "minColumnWidth", "columns", "gap", "rowGap", "align"]);
41
+ return (react_1.default.createElement(StyledGrid, Object.assign({}, nativeProps, { "$template": getTemplate(minColumnWidth, columns), "$gap": gap, "$rowGap": rowGap, "$align": align, ref: ref }), children));
42
+ };
43
+ exports.default = react_1.default.forwardRef(Grid);
@@ -48,7 +48,7 @@ export interface HighlightedOverrides {
48
48
  */
49
49
  readonly Mark?: React.ComponentType<HighlightedMarkProps & React.RefAttributes<HTMLElement>>;
50
50
  /**
51
- * Text element (HTML <span>)regex
51
+ * Text element (HTML <span>)
52
52
  */
53
53
  readonly Text?: React.ComponentType<HighlightedTextProps & React.RefAttributes<HTMLSpanElement>>;
54
54
  }
@@ -29,6 +29,10 @@ const Highlighted = (props, ref) => {
29
29
  const { text, highlight, overrides, disabledHighlighting = false, caseSensitive = false } = props, nativeProps = __rest(props, ["text", "highlight", "overrides", "disabledHighlighting", "caseSensitive"]);
30
30
  const patterns = react_1.default.useMemo(() => (typeof highlight === 'string' ? [highlight] : highlight)
31
31
  .filter(h => h.trim() !== '')
32
+ // Longest first: the alternation takes the first matching pattern,
33
+ // so «star» must not win over «starfish»
34
+ .slice()
35
+ .sort((a, b) => b.length - a.length)
32
36
  .map(exports.escapeRegex), [highlight]);
33
37
  const regex = react_1.default.useMemo(() => new RegExp(`(${patterns.join('|')})`, caseSensitive ? 'g' : 'gi'), [patterns, caseSensitive]);
34
38
  const overridesMap = react_1.default.useMemo(() => ({
@@ -36,18 +40,18 @@ const Highlighted = (props, ref) => {
36
40
  Mark: (overrides === null || overrides === void 0 ? void 0 : overrides.Mark) || HighlightedMark_1.default,
37
41
  Text: (overrides === null || overrides === void 0 ? void 0 : overrides.Text) || HighlightedText_1.default,
38
42
  }), [overrides]);
39
- const renderParts = react_1.default.useCallback(() => {
43
+ const parts = react_1.default.useMemo(() => {
40
44
  if (disabledHighlighting || patterns.length === 0) {
45
+ return [text];
46
+ }
47
+ // With the capturing group, split puts the matches at the odd indexes
48
+ return text.split(regex);
49
+ }, [disabledHighlighting, patterns.length, regex, text]);
50
+ return (react_1.default.createElement(overridesMap.Container, Object.assign({}, nativeProps, { ref: ref }), parts.map((part, i) => {
51
+ if (part === '') {
41
52
  return null;
42
53
  }
43
- return text.split(regex).map((part, i) => {
44
- const isMatch = part.match(regex) !== null;
45
- return isMatch ? (react_1.default.createElement(overridesMap.Mark, { key: i }, part)) : (react_1.default.createElement(overridesMap.Text, { key: i }, part));
46
- });
47
- }, [disabledHighlighting, patterns.length, regex, text, overridesMap]);
48
- return (react_1.default.createElement(overridesMap.Container, Object.assign({}, nativeProps, { ref: ref }),
49
- disabledHighlighting && react_1.default.createElement(overridesMap.Text, null, text),
50
- !disabledHighlighting && patterns.length === 0 && (react_1.default.createElement(overridesMap.Text, null, text)),
51
- renderParts()));
54
+ return i % 2 === 1 ? (react_1.default.createElement(overridesMap.Mark, { key: i }, part)) : (react_1.default.createElement(overridesMap.Text, { key: i }, part));
55
+ })));
52
56
  };
53
57
  exports.default = react_1.default.forwardRef(Highlighted);
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ export interface LoadingOverlayProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Spinner diameter: a number is in pixels, a string is any CSS length (`'1em'`, `'3rem'`)\
5
+ * \
6
+ * **Default**: `'2.4em'`
7
+ */
8
+ readonly size?: number | string;
9
+ }
10
+ declare const _default: React.ForwardRefExoticComponent<LoadingOverlayProps & React.RefAttributes<HTMLDivElement>>;
11
+ export default _default;
@@ -0,0 +1,63 @@
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 __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ const React = __importStar(require("react"));
41
+ const styled_1 = __importDefault(require("@emotion/styled"));
42
+ const SpinnerCircle_1 = __importStar(require("./SpinnerCircle"));
43
+ const Container = styled_1.default.div `
44
+ position: absolute;
45
+ left: 0;
46
+ right: 0;
47
+ top: 0;
48
+ bottom: 0;
49
+ display: flex;
50
+ justify-content: center;
51
+ align-items: center;
52
+ `;
53
+ /**
54
+ * Covers the nearest positioned ancestor (`position: relative` etc.) and centers the spinner in it
55
+ */
56
+ const LoadingOverlay = (props, ref) => {
57
+ const { size = SpinnerCircle_1.DEFAULT_SIZE } = props, nativeProps = __rest(props, ["size"]);
58
+ return (
59
+ // Announced by screen readers; the label can be replaced by the props
60
+ React.createElement(Container, Object.assign({ role: "status", "aria-label": "Loading" }, nativeProps, { ref: ref }),
61
+ React.createElement(SpinnerCircle_1.default, { "$size": (0, SpinnerCircle_1.toCssSize)(size) })));
62
+ };
63
+ exports.default = React.forwardRef(LoadingOverlay);
@@ -1,6 +1,35 @@
1
1
  import * as React from 'react';
2
- type Props = React.HTMLAttributes<HTMLDivElement>;
3
- export declare const LoadingIndicator: React.ForwardRefRenderFunction<HTMLDivElement, Props>;
4
- export declare const StaticLoadingIndicator: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
5
- declare const _default: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
6
- export default _default;
2
+ import { LoadingOverlayProps } from './LoadingOverlay';
3
+ export interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {
4
+ /**
5
+ * Spinner diameter: a number is in pixels, a string is any CSS length (`'1em'`, `'3rem'`)\
6
+ * \
7
+ * **Default**: `'2.4em'`
8
+ */
9
+ readonly size?: number | string;
10
+ /**
11
+ * If `true`, the spinner takes all the free space of a flex parent and is centered in it
12
+ * (e.g. in place of an empty list). If `false`, it takes only its own size\
13
+ * \
14
+ * **Default**: `true`
15
+ */
16
+ readonly fill?: boolean;
17
+ }
18
+ declare const SpinnerWithRef: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLSpanElement>>;
19
+ /**
20
+ * @deprecated Use `Spinner` instead
21
+ */
22
+ export declare const StaticLoadingIndicator: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLSpanElement>>;
23
+ /**
24
+ * @deprecated Use `SpinnerProps` instead
25
+ */
26
+ export type StaticLoadingIndicatorProps = SpinnerProps;
27
+ /**
28
+ * @deprecated Use `LoadingOverlay` from `@via-profit/ui-kit/LoadingIndicator` instead
29
+ */
30
+ export declare const LoadingIndicator: React.ForwardRefExoticComponent<LoadingOverlayProps & React.RefAttributes<HTMLDivElement>>;
31
+ /**
32
+ * @deprecated Use `LoadingOverlayProps` instead
33
+ */
34
+ export type LoadingIndicatorProps = LoadingOverlayProps;
35
+ export default SpinnerWithRef;
@@ -22,50 +22,61 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
25
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
38
  };
28
39
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.StaticLoadingIndicator = exports.LoadingIndicator = void 0;
40
+ exports.LoadingIndicator = exports.StaticLoadingIndicator = void 0;
30
41
  const React = __importStar(require("react"));
31
42
  const styled_1 = __importDefault(require("@emotion/styled"));
32
43
  const react_1 = require("@emotion/react");
33
- const Container = styled_1.default.div `
34
- position: absolute;
35
- left: 0;
36
- right: 0;
37
- top: 0;
38
- bottom: 0;
39
- display: flex;
40
- justify-content: center;
41
- align-items: center;
42
- `;
43
- const spin = (0, react_1.keyframes) `
44
- to {
45
- transform: rotate(360deg);
46
- }
47
- `;
48
- const SpinLoader = styled_1.default.div `
49
- width: 2em;
50
- height: 2em;
51
- border: 0.187em solid ${({ theme }) => theme.color.surface.darken(30).toString()};
52
- border-top-color: ${({ theme }) => theme.color.accentPrimary.toString()};
53
- border-radius: 50%;
54
- animation: ${spin} 0.8s linear infinite;
55
- `;
56
- const LoadingIndicator = (props, ref) => (React.createElement(Container, Object.assign({}, props, { ref: ref }),
57
- React.createElement(SpinLoader, null)));
58
- exports.LoadingIndicator = LoadingIndicator;
59
- const StaticLoadingIndicatorContainer = styled_1.default.span `
60
- height: 100%;
61
- flex: 1;
62
- display: flex;
63
- flex-direction: column;
64
- text-align: center;
44
+ const SpinnerCircle_1 = __importStar(require("./SpinnerCircle"));
45
+ const LoadingOverlay_1 = __importDefault(require("./LoadingOverlay"));
46
+ const Container = styled_1.default.span `
65
47
  justify-content: center;
66
48
  align-items: center;
49
+ ${({ $fill }) => $fill
50
+ ? (0, react_1.css) `
51
+ height: 100%;
52
+ flex: 1;
53
+ display: flex;
54
+ flex-direction: column;
55
+ text-align: center;
56
+ `
57
+ : (0, react_1.css) `
58
+ display: inline-flex;
59
+ vertical-align: middle;
60
+ `}
67
61
  `;
68
- exports.StaticLoadingIndicator = React.forwardRef((props, ref) => (React.createElement(StaticLoadingIndicatorContainer, Object.assign({}, props, { ref: ref }),
69
- React.createElement(SpinLoader, null))));
70
- exports.StaticLoadingIndicator.displayName = 'StaticLoadingIndicator';
71
- exports.default = React.forwardRef(exports.LoadingIndicator);
62
+ /**
63
+ * Inline loading spinner: takes place in the layout, e.g. inside a button, a field or a list
64
+ */
65
+ const Spinner = (props, ref) => {
66
+ const { size = SpinnerCircle_1.DEFAULT_SIZE, fill = true } = props, nativeProps = __rest(props, ["size", "fill"]);
67
+ return (
68
+ // Announced by screen readers; the label can be replaced by the props
69
+ React.createElement(Container, Object.assign({ role: "status", "aria-label": "Loading" }, nativeProps, { "$fill": fill, ref: ref }),
70
+ React.createElement(SpinnerCircle_1.default, { "$size": (0, SpinnerCircle_1.toCssSize)(size) })));
71
+ };
72
+ const SpinnerWithRef = React.forwardRef(Spinner);
73
+ SpinnerWithRef.displayName = 'Spinner';
74
+ /**
75
+ * @deprecated Use `Spinner` instead
76
+ */
77
+ exports.StaticLoadingIndicator = SpinnerWithRef;
78
+ /**
79
+ * @deprecated Use `LoadingOverlay` from `@via-profit/ui-kit/LoadingIndicator` instead
80
+ */
81
+ exports.LoadingIndicator = LoadingOverlay_1.default;
82
+ exports.default = SpinnerWithRef;
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ export declare const DEFAULT_SIZE = "2.4em";
3
+ export declare const toCssSize: (size: number | string) => string;
4
+ /**
5
+ * The rotating circle shared by <Spinner> and <LoadingOverlay>.
6
+ * A span, so the spinner can be placed inside phrasing content (e.g. a button)
7
+ */
8
+ declare const SpinnerCircle: import("@emotion/styled").StyledComponent<{
9
+ theme?: import("@emotion/react").Theme | undefined;
10
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
11
+ } & {
12
+ readonly $size: string;
13
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
14
+ export default SpinnerCircle;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toCssSize = exports.DEFAULT_SIZE = void 0;
7
+ const styled_1 = __importDefault(require("@emotion/styled"));
8
+ const react_1 = require("@emotion/react");
9
+ // The size of the spinner before the `size` property (2em plus the ring), so nothing changes
10
+ exports.DEFAULT_SIZE = '2.4em';
11
+ const toCssSize = (size) => (typeof size === 'number' ? `${size}px` : size);
12
+ exports.toCssSize = toCssSize;
13
+ const spin = (0, react_1.keyframes) `
14
+ to {
15
+ transform: rotate(360deg);
16
+ }
17
+ `;
18
+ /**
19
+ * The rotating circle shared by <Spinner> and <LoadingOverlay>.
20
+ * A span, so the spinner can be placed inside phrasing content (e.g. a button)
21
+ */
22
+ const SpinnerCircle = styled_1.default.span `
23
+ display: block;
24
+ box-sizing: border-box;
25
+ width: ${({ $size }) => $size};
26
+ height: ${({ $size }) => $size};
27
+ /* The ring width follows the size, so the proportions stay the same */
28
+ border: calc(${({ $size }) => $size} * 0.08) solid
29
+ ${({ theme }) => theme.color.surface.darken(30).toString()};
30
+ border-top-color: ${({ theme }) => theme.color.accentPrimary.toString()};
31
+ border-radius: 50%;
32
+ animation: ${spin} 0.8s linear infinite;
33
+ `;
34
+ exports.default = SpinnerCircle;
@@ -1,3 +1,8 @@
1
- import LoadingIndicator from './Spinner';
2
- export * from './Spinner';
3
- export default LoadingIndicator;
1
+ import Spinner from './Spinner';
2
+ export { default as Spinner } from './Spinner';
3
+ export type { SpinnerProps } from './Spinner';
4
+ export { default as LoadingOverlay } from './LoadingOverlay';
5
+ export type { LoadingOverlayProps } from './LoadingOverlay';
6
+ export { StaticLoadingIndicator, LoadingIndicator } from './Spinner';
7
+ export type { StaticLoadingIndicatorProps, LoadingIndicatorProps } from './Spinner';
8
+ export default Spinner;
@@ -1,22 +1,16 @@
1
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
17
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
4
  };
19
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LoadingIndicator = exports.StaticLoadingIndicator = exports.LoadingOverlay = exports.Spinner = void 0;
20
7
  const Spinner_1 = __importDefault(require("./Spinner"));
21
- __exportStar(require("./Spinner"), exports);
8
+ var Spinner_2 = require("./Spinner");
9
+ Object.defineProperty(exports, "Spinner", { enumerable: true, get: function () { return __importDefault(Spinner_2).default; } });
10
+ var LoadingOverlay_1 = require("./LoadingOverlay");
11
+ Object.defineProperty(exports, "LoadingOverlay", { enumerable: true, get: function () { return __importDefault(LoadingOverlay_1).default; } });
12
+ // Deprecated aliases of the previous names
13
+ var Spinner_3 = require("./Spinner");
14
+ Object.defineProperty(exports, "StaticLoadingIndicator", { enumerable: true, get: function () { return Spinner_3.StaticLoadingIndicator; } });
15
+ Object.defineProperty(exports, "LoadingIndicator", { enumerable: true, get: function () { return Spinner_3.LoadingIndicator; } });
22
16
  exports.default = Spinner_1.default;
@@ -13,9 +13,10 @@ export interface MaskedFieldProps extends Omit<TextFieldProps, 'value' | 'onChan
13
13
  */
14
14
  readonly mask: Mask | GetMask;
15
15
  /**
16
- * Function will be called when field value was changed
16
+ * Function will be called when field value was changed.\
17
+ * `event.currentTarget.value` already contains the formatted text
17
18
  */
18
- readonly onChange: (payload: FormatParsedPayload) => void;
19
+ readonly onChange: (payload: FormatParsedPayload, event: React.ChangeEvent<HTMLInputElement>) => void;
19
20
  /**
20
21
  * If you are not using a simple mask, you can provide a function to analyze the input value
21
22
  */