@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,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
  */
@@ -63,11 +63,14 @@ const MaskedField = (props, ref) => {
63
63
  const formatted = masked.formatParsedInput(parsed.text, m, parsed.caret);
64
64
  const finalText = transform ? transform(formatted.text) : formatted.text;
65
65
  setInputValue(finalText);
66
+ // The input shows finalText after the render anyway,
67
+ // this makes the event consistent with the payload
68
+ event.currentTarget.value = finalText;
66
69
  onChange({
67
70
  caret: formatted.caret,
68
71
  isValid: formatted.isValid,
69
72
  text: finalText,
70
- });
73
+ }, event);
71
74
  // Устанавливаем caret после рендера
72
75
  requestAnimationFrame(() => {
73
76
  var _a;
@@ -83,6 +86,8 @@ const MaskedField = (props, ref) => {
83
86
  nativeProps.inputRef.current = elem;
84
87
  }
85
88
  }, [nativeProps]);
86
- return (react_1.default.createElement(TextField_1.default, Object.assign({ ref: ref }, nativeProps, { type: "text", value: inputValue, onChange: handleOnChange, inputRef: setInputRef })));
89
+ return (react_1.default.createElement(TextField_1.default, Object.assign({ ref: ref }, nativeProps, {
90
+ // The caret can be moved only in text-like inputs, `tel` also brings up the phone keypad
91
+ type: nativeProps.type === 'tel' ? 'tel' : 'text', value: inputValue, onChange: handleOnChange, inputRef: setInputRef })));
87
92
  };
88
93
  exports.default = react_1.default.forwardRef(MaskedField);
@@ -57,6 +57,8 @@ exports.ogrnip = [
57
57
  /\d/,
58
58
  /\d/,
59
59
  /\d/,
60
+ /\d/,
61
+ /\d/,
60
62
  ];
61
63
  exports.vin = [
62
64
  /[A-HJ-NPR-Z0-9]/i,
@@ -11,10 +11,12 @@ const useMasked = () => {
11
11
  text: '',
12
12
  caret: 0,
13
13
  };
14
- value
15
- .replace(/\s+/g, '')
16
- .split('')
17
- .forEach((character, charIndex) => {
14
+ // Whitespaces are skipped in place, not stripped beforehand:
15
+ // charIndex must stay the index in the original value to be compared with the caret
16
+ value.split('').forEach((character, charIndex) => {
17
+ if (/\s/.test(character)) {
18
+ return;
19
+ }
18
20
  const isMatch = mask.some(pattern => {
19
21
  if (typeof pattern === 'string') {
20
22
  return character === pattern && character;
@@ -42,30 +44,40 @@ const useMasked = () => {
42
44
  charIndex: 0,
43
45
  };
44
46
  if (parsedValue === '') {
45
- return data;
47
+ return { text: '', caret, isValid: false };
46
48
  }
49
+ const requiredCount = mask.filter(pattern => pattern instanceof RegExp).length;
50
+ let filledCount = 0;
47
51
  let patternIndex = 0;
48
52
  for (patternIndex = 0; patternIndex < mask.length; patternIndex++) {
49
- data.isValid = false;
50
53
  if (data.charIndex >= parsedValue.length) {
51
54
  break;
52
55
  }
53
56
  const char = parsedValue[data.charIndex];
54
57
  const pattern = mask[patternIndex];
58
+ // A mask literal (e.g. a shifted separator) got into a RegExp position:
59
+ // drop the char and try the same pattern with the next one, otherwise the rest of input is lost
60
+ if (pattern instanceof RegExp && !new RegExp(pattern).test(char) && mask.includes(char)) {
61
+ if (data.charIndex < (caret || 0)) {
62
+ data.caret -= 1;
63
+ }
64
+ data.charIndex += 1;
65
+ patternIndex -= 1;
66
+ continue;
67
+ }
55
68
  // If char is correct (matched with Regexp pattern)
56
69
  // then accept char into text
57
70
  // and increment the charIndex and caret
58
71
  if (pattern instanceof RegExp && new RegExp(pattern).test(char)) {
59
72
  data.text = `${data.text}${char}`;
60
73
  data.charIndex += 1;
61
- data.isValid = true;
74
+ filledCount += 1;
62
75
  }
63
76
  // If char is correct (equal with pattern string)
64
- // then accept char into text
65
- // and increment the charIndex and caret
77
+ // then accept char into text and increment the charIndex.
78
+ // The caret is not changed: this char is already counted by parseInput
66
79
  if (typeof pattern === 'string' && pattern === char) {
67
80
  data.text = `${data.text}${char}`;
68
- data.caret += 1;
69
81
  data.charIndex += 1;
70
82
  }
71
83
  // If pattern is a string and char is not correct
@@ -80,8 +92,10 @@ const useMasked = () => {
80
92
  }
81
93
  const result = {
82
94
  text: data.text,
83
- caret: data.caret,
84
- isValid: data.isValid,
95
+ // Extra input beyond the mask is dropped, the caret must not point past the text
96
+ caret: Math.min(data.caret, data.text.length),
97
+ // Valid when every RegExp position of the mask is filled
98
+ isValid: requiredCount > 0 && filledCount === requiredCount,
85
99
  };
86
100
  return result;
87
101
  }, []);
@@ -71,6 +71,14 @@ export interface MenuProps<T, Multiple extends boolean | undefined = undefined>
71
71
  * **Default**: `true`
72
72
  */
73
73
  readonly closeOutsideClick?: boolean;
74
+ /**
75
+ * Also close the list when the anchor element is clicked.\
76
+ * Leave it `false` when the anchor toggles the list by itself,
77
+ * otherwise the anchor click closes the list and the anchor opens it again\
78
+ * \
79
+ * **Default**: `false`
80
+ */
81
+ readonly closeOnAnchorClick?: boolean;
74
82
  /**
75
83
  * Allow the multiple selection
76
84
  * \
@@ -97,7 +105,7 @@ export interface MenuProps<T, Multiple extends boolean | undefined = undefined>
97
105
  * if the preferred placement doesn't fit in the viewport.
98
106
  * The component will iterate through possible placements until it finds one that fits.
99
107
  *
100
- * **Default**: `true`
108
+ * **Default**: `false`
101
109
  * ```
102
110
  */
103
111
  readonly autoFlip?: boolean;
@@ -115,7 +123,7 @@ export interface MenuProps<T, Multiple extends boolean | undefined = undefined>
115
123
  * - `'absolute'`: Positions relative to the nearest positioned ancestor.
116
124
  * When using 'absolute', make sure a parent element has `position: relative`.
117
125
  *
118
- * **Default**: `'`absolute`'`
126
+ * **Default**: `fixed`
119
127
  * ```
120
128
  */
121
129
  readonly positionStrategy?: PositionStrategy;
@@ -124,7 +132,7 @@ export interface MenuProps<T, Multiple extends boolean | undefined = undefined>
124
132
  * Used to prevent the popper from being positioned too close to the screen boundaries.
125
133
  * The popper will try to flip to another placement if it cannot maintain this margin.
126
134
  *
127
- * **Default**: `8`
135
+ * **Default**: `30`
128
136
  * ```
129
137
  */
130
138
  readonly viewportMargin?: number;