@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
package/CHANGELOG.md CHANGED
@@ -0,0 +1,160 @@
1
+ # Список изменений
2
+
3
+ Все заметные изменения пакета `@via-profit/ui-kit`. Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/), версии следуют [семантическому версионированию](https://semver.org/lang/ru/).
4
+
5
+ ## Не выпущено
6
+
7
+ ## 0.4.0 — 2026-10-01
8
+
9
+ Новые компоненты: `Checkbox`, `Radio` и `RadioGroup`, `ButtonGroup`, `Stack` и `Grid`, шкала отступов темы. Доступность с клавиатуры и для программ чтения с экрана во многих компонентах, исправления ошибок по всей библиотеке.
10
+
11
+ Версия содержит несовместимые изменения. Как обновиться с 0.3:
12
+
13
+ - `LoadingIndicator`: экспорт по умолчанию — строчный `Spinner`. Если вы использовали слой загрузки поверх блока, импортируйте `LoadingOverlay`: `import { LoadingOverlay } from '@via-profit/ui-kit/LoadingIndicator'`;
14
+ - `DatePicker`: `onChange` получает `Date | null` — обработчик, принимающий только `Date`, нужно доработать;
15
+ - `Switch`: `ref` указывает на `<input>`; переопределения `ToggleWrapper` и `Container` получают ref на `<input>` и `<label>`;
16
+ - `Accordion`: `onOpen` получает новое состояние и больше не отключает внутреннее переключение неконтролируемого аккордеона; внутренний отступ заголовка перенесён на кнопку внутри него;
17
+ - `Autocomplete`: удалены `Autocomplete2` и `Autocomplete/OverrideMenuList`; мультивыбор переработан;
18
+ - `Table`: таблица больше не перестраивается в блоки на узких экранах — оберните широкие таблицы в контейнер с `overflow-x: auto`;
19
+ - `Swiper`: контейнер не ограничен шириной `1200px`;
20
+ - `Menu`: клик по анкору больше не вызывает `onRequestClose`.
21
+
22
+ Подробности — в разделах ниже.
23
+
24
+ ### Добавлено
25
+
26
+ - **Stack**, **Grid**: компоненты раскладки `@via-profit/ui-kit/Stack` и `@via-profit/ui-kit/Grid` — элементы в столбец или строку с одинаковым отступом и сетка колонок, которая с `minColumnWidth` сама перестраивается по ширине; оба без обёрток вокруг элементов. **ThemeProvider**: шкала отступов `theme.spacing` (`xs`, `sm`, `md`, `lg`, `xl`), её принимает `gap` у `Stack` и `Grid`.
27
+ - **Radio**, **RadioGroup**: новые компоненты `@via-profit/ui-kit/Radio` и `@via-profit/ui-kit/RadioGroup` — радиокнопки и группа с подписью, контролируемым и неконтролируемым выбором, горизонтальным расположением, цветом, обязательным выбором, текстом ошибки и `overrides`; группа — `<fieldset>` с ролью `radiogroup`, стрелки переключают вариант.
28
+ - **CountryFlags**: заглушка `Unknown` для неизвестной страны в пропорции 3:2, как у флагов; она же экспортируется из `@via-profit/ui-kit/CountryFlags` вместе со всеми флагами. Флаги по умолчанию скрыты от программ чтения с экрана (`aria-hidden`), а с `aria-label` получают роль `img`.
29
+ - **DatePicker**: при открытии календаря фокус переходит на выбранный день, Escape закрывает календарь и возвращает фокус на кнопку, после выбора фокус возвращается в поле; календарь — диалог с подписью; кнопка календаря подписана (`calendarButtonTooltip`, по умолчанию `Choose date`) и сообщает `aria-expanded`; свойства `prevButtonLabel` и `nextButtonLabel` передаются в календарь.
30
+ - **Calendar**: навигация по дням с клавиатуры — стрелки, Home/End, PageUp/PageDown, в сетку дней Tab попадает один раз; дни озвучиваются полной датой, выбранные отмечены `aria-pressed`, сегодняшний — `aria-current="date"`; свойства `prevButtonLabel` и `nextButtonLabel` — подписи стрелок; стрелки в режиме выбора месяца переключают год.
31
+ - **Typography**: компонент `H6`; все компоненты типографики экспортируются из `@via-profit/ui-kit/Typography` (`import { H1, Paragraph, Strong } from ...`), экспорт по умолчанию — по-прежнему `Paragraph`; `SectionTitle` передаёт `ref` и атрибуты заголовка.
32
+ - **Swiper**: свободная прокрутка `snap={false}` — после перетаскивания лента движется по инерции и останавливается между слайдами, следующее перетаскивание продолжается с того же места, с `infinite` ленту можно тянуть без конца; ленту можно подхватить во время анимации — она останавливается под пальцем, а не перескакивает к концу движения. Компонент больше не помечен как черновик.
33
+ - **Swiper**: управление стрелками ←/→ (`keyboardControl`), описанное в документации, но не реализованное; роли и подписи карусели и слайдов для программ чтения с экрана (`slideLabel`); автопрокрутка останавливается, пока фокус внутри свайпера; `children` принимает `null`/`false` и одиночный слайд.
34
+ - **ButtonGroup**: новый компонент `@via-profit/ui-kit/ButtonGroup` — кнопки, объединённые в один блок, с общими `variant`, `color` и `disabled`, вертикальным расположением и `fullWidth`. Может работать как переключатель: выбор одного или нескольких вариантов (`value`, `defaultValue`, `onChange`, `multiple`), выбранные кнопки получают `aria-pressed`.
35
+ - **Accordion**: заголовок доступен с клавиатуры и сообщает программам чтения с экрана, развёрнута ли панель (`aria-expanded`, `aria-controls`, содержимое с `role="region"`); `onOpen` получает новое состояние — `onOpen(isOpen)`.
36
+ - **Checkbox**: новый компонент `@via-profit/ui-kit/Checkbox` — чекбокс с контролируемым и неконтролируемым режимами, промежуточным состоянием `indeterminate`, цветами, положением текста, звёздочкой обязательного поля, текстом ошибки и `overrides`.
37
+ - **Switch**: поле получает `role="switch"`, а при `error` — `aria-invalid`.
38
+ - **Color**: тип `PaletteName` — названия палитр `ColorGenerator`.
39
+ - **Modal**: свойство `closeButtonLabel` у `drawer` — подпись кнопки закрытия для программ чтения с экрана; тип `AnchorVariant` экспортируется из `@via-profit/ui-kit/Modal`.
40
+ - **ClickOutside**: свойство `ignoreElements` — элементы, клики по которым не считаются кликами снаружи.
41
+ - **Menu**: свойство `closeOnAnchorClick`.
42
+ - **Avatar**: аватар с `onClick` получает роль `button` и нажимается клавишами Enter и пробел.
43
+ - **MaskedField**: `onChange` получает вторым аргументом событие `change`; поддерживается `type="tel"`.
44
+ - **Badge**: бейдж с `onClick` получает роль `button` и нажимается клавишами Enter и пробел; свойство `deleteButtonLabel` — подпись кнопки удаления для программ чтения с экрана.
45
+ - **LoadingIndicator**: компоненты `Spinner` (строчный спиннер) и `LoadingOverlay` (слой поверх блока) с понятными именами.
46
+ - **LoadingIndicator**: свойство `size` — диаметр спиннера (число в пикселях или любая длина CSS) вместо масштабирования через `font-size`; свойство `fill` у `Spinner` — отключает растягивание на свободное место родителя. Внешний вид по умолчанию не изменился.
47
+ - **LoadingIndicator**: оба индикатора получают роль `status` и подпись `aria-label="Loading"` (можно заменить своей), программы чтения с экрана сообщают о загрузке.
48
+ - **Selectbox**: свойство `renderValue` — своё содержимое кнопки для выбранного значения, например бейджи при `multiple`.
49
+ - **Badge**: бейдж без `onClick` больше не меняет цвет при наведении — это выглядело как приглашение нажать.
50
+ - **Selectbox**: клавиши ↓ и ↑ на кнопке открывают список, как у стандартного `<select>`.
51
+ - **Menu**: список получает роль `listbox` (и `aria-multiselectable` при `multiple`), `MenuItem` — роль `option` и `aria-selected`.
52
+
53
+ ### Изменено
54
+
55
+ - **Table**: компонент больше не помечен как черновик.
56
+ - **DatePicker**: `onChange` получает `null`, когда поле очищено или нажата кнопка сброса календаря без начального значения — тип обработчика `(date: Date | null) => void`. Обработчики, принимающие только `Date`, нужно доработать. Раньше очистить значение из поля было нельзя.
57
+ - **Calendar**: виды (дни, месяцы, годы, недели) переключаются без `Swiper` — показывается только активный вид с короткой анимацией; список лет — обычная прокручиваемая сетка вместо виртуализированного списка. Без `initialView` показывается первый из `views`, а `initialView` теперь учитывается вместе с `views`. В контролируемом режиме календарь показывает `value`, даже если родитель не принял изменение.
58
+ - **Typography**: `H4` — 1.1em (было 1.2em, почти как `H3`), `H5` — 1em и полужирный (был того же размера, что `H4`, и тоньше основного текста).
59
+ - **Table**: убрана перестройка таблицы в блоки на экранах уже 1200px — для широких таблиц используйте контейнер с `overflow-x: auto`. Ширина колонок зависит от содержимого (`table-layout: auto` вместо `fixed`). Линии между строками — нижние границы ячеек, а не `<tr>`. Цвет акцента у заголовков задаёт `TableHeader`, поэтому `TableHeaderCell` с `scope="row"` в теле таблицы выделяется только жирным. Таблица больше не добавляет внешний отступ `margin-bottom`, `TableCaption` выровнен по началу строки.
60
+ - **Swiper**: контейнер больше не ограничен шириной `1200px` и не центрируется — свайпер занимает ширину родителя. Автопрокрутка без `infinite` после последнего слайда возвращается к первому вместо остановки. Слайды вне видимой области получают `inert`. Ключи слайдов сохраняются (раньше заменялись на индексы).
61
+ - **Accordion**: неконтролируемый аккордеон с `onOpen` продолжает сам хранить состояние: `onOpen` больше не заменяет внутреннее переключение. Весь заголовок стал кнопкой вместо `<div>` с маленькой кнопкой-стрелкой: внутренний отступ заголовка перенесён на эту кнопку, а `overrides.Header` получает `headerID` и `contentID`.
62
+ - **Switch**: `ref` указывает на `<input>`, а не на обёртку; тип `overrides.ToggleWrapper` — `RefAttributes<HTMLInputElement>`, `overrides.Container` — `RefAttributes<HTMLLabelElement>`. Неконтролируемый переключатель с `onChange` продолжает сам хранить состояние: `onChange` больше не заменяет внутреннее переключение.
63
+ - **Color**: `getContrastColor()` выбирает чёрный или белый по коэффициенту контраста, а не по порогу яркости 0.5. Раньше для средних по яркости цветов (оранжевый, `#22c7d6`) возвращался белый с контрастом около 2:1 вместо чёрного с контрастом около 10:1.
64
+ - **LoadingIndicator**: **несовместимое изменение** — экспорт по умолчанию модуля `LoadingIndicator` и файла `LoadingIndicator/Spinner` теперь `Spinner` (строчный спиннер), а не слой поверх блока. Импорт `import LoadingIndicator from '@via-profit/ui-kit/LoadingIndicator'` без ошибок начнёт показывать строчный спиннер — замените его на `import { LoadingOverlay } from '@via-profit/ui-kit/LoadingIndicator'`. Подробнее в документации, раздел «Переход с прежних имён».
65
+ - **Autocomplete**: мультивыбор переработан по образцу MUI. Выбранные элементы отображаются метками внутри поля, поле служит только для поиска, после выбора поиск очищается, Backspace в пустом поле удаляет последнюю метку. **Несовместимое изменение**: при `multiple` функция `selectedItemToString` получает один элемент (подпись метки), а не массив.
66
+ - **PhoneField**: построен на `MaskedField` и использует общий с ним механизм форматирования. Публичный API `PhoneField` и `usePhoneUtils` не изменился. `+` в середине номера теперь пропускается, а не обрезает номер.
67
+ - **Menu**: клавиша Tab закрывает меню. Раньше фокус уходил из меню, а оно оставалось открытым.
68
+ - **PhoneField**: номера США форматируются как `+1 (987) 654-3210` вместо `+1 987 654-32-10`.
69
+ - **PhoneField**: `placeholder`, переданный в свойствах, больше не заменяется подсказкой шаблона.
70
+ - **Menu**: клик по анкору больше не вызывает `onRequestClose`. Раньше кнопка, которая открывает и закрывает меню, не могла его закрыть: нажатие сначала закрывало меню, а затем сразу открывало снова. Чтобы клик по анкору снова закрывал меню, передайте `closeOnAnchorClick`.
71
+
72
+ ### Устарело
73
+
74
+ - **CountryFlags**: `Uknown` (опечатка в названии) — используйте `Unknown`. **PhoneField**: `PhoneField/UnknownFlag` — используйте `CountryFlags/Unknown`.
75
+ - **LoadingIndicator**: именованные `LoadingIndicator` и `StaticLoadingIndicator` и их типы `LoadingIndicatorProps` и `StaticLoadingIndicatorProps` — используйте `LoadingOverlay` и `Spinner`. Будут удалены в одной из следующих версий.
76
+
77
+ ### Удалено
78
+
79
+ - **Autocomplete**: удалены неиспользуемые `Autocomplete2` и `Autocomplete/OverrideMenuList`.
80
+
81
+ ### Исправлено
82
+
83
+ - **ThemeProvider**: `isDark` в параметрах `createTheme` был обязательным по типам, хотя по умолчанию равен `false` — `createTheme({ color: … })` не проходил проверку типов.
84
+ - **Modal**: у боковой панели (`variant="drawer"`) были скруглены все четыре угла, включая прилегающие к краю окна, — скругление базового окна не сбрасывалось. Теперь скруглены только углы со стороны страницы: при `anchor="left"` — правые, `right` — левые, `top` — нижние, `bottom` — верхние.
85
+ - **CountryFlags**: генератор флагов записывал список всех флагов в файл `CountryFlags/SwiperOverview`, он попадал в пакет; скрипт `indexes:flags` ссылался на несуществующий файл. **PhoneField**: заглушка неизвестной страны была квадратной, и при определении страны текст в поле сдвигался на полфлага.
86
+ - **DatePicker**: в режиме `readOnly` повторный клик по полю не закрывал календарь; кнопка календаря только открывала его, а не переключала; `minDate`/`maxDate` по умолчанию создавались заново при каждом рендере; в описании `template` был указан несуществующий символ `M`.
87
+ - **Calendar**: тип значения с `range={false}` был диапазоном вместо даты; `initialView` игнорировался, если передан `views`; недоступные дни (вне `minDate`/`maxDate`) не отличались от доступных; у сегодняшнего дня не было видно фокуса с клавиатуры; при `weekDayLabelFormat="narrow"` совпадали ключи дней недели; типы `overrides.EmptyCell`, `WeekRow`, `DayBadge`, `IconPrev`, `IconNext` не совпадали с элементами и не принимали `styled(...)` стандартных компонентов.
88
+ - **Typography**: линия под `SectionTitle` не отображалась; `Del` отображался в React DevTools как `Em`; подсказка об устаревании `Base` указывала на несуществующий путь.
89
+ - **Table**: на экранах уже 1200px таблица разваливалась — заголовки прятались, а подписи к ячейкам не показывались; не работали скругление углов, линии между строками и линия над подвалом (`border-collapse: collapse`); заголовки разрывались посреди слова; заголовки колонок имели роль `rowheader`; тип `ref` у `TableCaption` — `HTMLTableCaptionElement`.
90
+ - **Swiper**: `slidesPerView` попадал атрибутом в DOM; в бесконечном режиме с `slidesPerView > 1` `onSlideChange` сообщал неверный индекс, а справа появлялось пустое место; после нескольких быстрых перелистываний бесконечный свайпер перескакивал на первый или последний слайд; `resume` при уходе указателя снимал паузу, поставленную через `pause()`; после перетаскивания срабатывал клик по ссылке или кнопке в слайде; перетаскивание начиналось правой кнопкой мыши, а картинки перетаскивались браузером; Tab уводил фокус в невидимый слайд и сдвигал ленту; `snap={false}` не работал: лента оставалась смещённой, при следующем перетаскивании прыгала, а `next`/`prev`/`goToIndex` сохраняли смещение; частично видимый слайд был недоступен для клика.
91
+ - **Highlighted**: при пересекающихся подстроках выделялась первая из массива, а не самая длинная (`['star', 'starfish']` выделяло в «Starfish» только «Star»); для совпадений в начале и в конце текста рендерились пустые `<span>`.
92
+ - **Accordion**: группировка соседних аккордеонов не работала в собранном пакете (селекторы по классам emotion), а у одиночного аккордеона верхние углы были квадратными; клик по стрелке вызывал `onOpen` дважды; содержимое выше 90vh обрезалось; свёрнутое содержимое было доступно через Tab; предупреждение об отсутствии `header` с неверным текстом выводилось при каждом рендере.
93
+ - **Switch**: с `defaultChecked` поле `<input>` навсегда оставалось отмеченным, хотя переключатель выглядел выключенным; неконтролируемый переключатель с `onChange` не переключался визуально; `requiredAsterisk={false}` всё равно показывал `*`; ошибка о `checked` без `onChange` выводилась при каждом рендере; у выключенного переключателя не было видно подсветки фокуса и наведения в светлой теме; эффект наведения и фокуса не работал в собранном пакете (селекторы по классам emotion); атрибуты `checked` и `disabled` попадали в DOM у `<span>` и `<label>`; неверный цвет давал белый ползунок вместо цвета акцента.
94
+ - **Button**: при смене `variant` кнопка создавалась заново и теряла фокус (например, кнопка-переключатель после нажатия с клавиатуры); предупреждение об `iconOnly` вместе со `startIcon`/`endIcon` выводилось при каждом рендере.
95
+ - **Surface**: при `noPadding` содержимое (например, изображение) выходило за скруглённые углы поверхности; предупреждение о `subheader` без `header` выводилось в консоль при каждом рендере.
96
+ - **ThemeProvider**: `createTheme` добавлял в каждую тему отладочный цвет `theme.color.test` (красный).
97
+ - **Color**: в TypeScript нельзя было передать палитру в `Color.fromUuid(uuid, palette)` — тип параметра был `undefined`; устаревший `Color.getHextByWebColor()` возвращал HSL вместо HEX.
98
+ - **Modal**: содержимое `dialog` и `drawer` создавалось заново при каждом рендере родителя — поле ввода в диалоге теряло фокус и значение после первого же символа, а после закрытия вложенного окна фокус уходил со страницы.
99
+ - **Modal**: окна не имели корректной роли для программ чтения с экрана (`role="modal-confirmbox"` и `role="modal-MessageBox"` не существуют, у `dialog` и `drawer` роли не было); теперь `dialog` или `alertdialog` с `aria-modal`, заголовок `drawer` связан с окном через `aria-labelledby`.
100
+ - **Modal**: у кнопки закрытия `drawer` всегда был отступ, будто рядом есть `toolbar`; два окна, открытые в одну миллисекунду, получали одинаковые идентификаторы.
101
+ - **Menu**, **Selectbox**, **Autocomplete**: значения `0`, `''` и `false` считались пустыми — их нельзя было выбрать, а поле показывало «не выбрано».
102
+ - **MaskedField**: курсор смещался вправо при правке в середине значения, если в маске есть пробелы; при вводе сверх длины маски `caret` указывал за конец текста; для пустого ввода `formatParsedInput` возвращал лишнее поле `charIndex`.
103
+ - **MaskedField**: маска `ogrnip` в `templates` содержала 13 цифр вместо 15.
104
+ - **PhoneField**: `caret` в результате `usePhoneUtils().formatParsedInput` и `parseAndFormat` мог указывать за конец текста.
105
+ - **PhoneField**: в `onChange` передавалась копия события без методов (`preventDefault` и др.) и без свойств поля ввода (`name`, `id` и др.); теперь передаётся исходное событие, а `event.currentTarget.value` содержит отформатированный текст.
106
+ - **PhoneField**: при вводе `+7`, `+79`, `+791` страна не определялась и флаг пропадал; `+76` и `+77` определялись как Казахстан только с четвёртой цифры.
107
+ - **PhoneField**: номера Японии без `+` (`81…`) определялись как российские с `8`; мобильные номера Японии (10 цифр) обрезались до 9 цифр.
108
+ - **PhoneField**: номера Израиля без `+` не определялись; стационарные номера Израиля (8 цифр) не считались полными.
109
+ - **PhoneField**: для шаблона Казахстана `+997` `callingCode` был `'7'`, из-за чего `number` и `combined` были неверными.
110
+ - **Menu**: мышь и клавиатура подсвечивали разные элементы: после наведения курсора стрелки начинали с начала списка, Enter не выбирал элемент под курсором, а прокрутка списка стрелками переносила подсветку на элемент, оказавшийся под неподвижным курсором.
111
+ - **Menu**: после выбора элемента с клавиатуры или закрытия по Esc фокус терялся; теперь он возвращается на анкор.
112
+ - **Menu**: меню, открытое сразу при монтировании, не прокручивалось к выбранному элементу.
113
+ - **Menu**: после изменения `items` подсвечивался элемент с тем же индексом, то есть случайный элемент нового списка; теперь подсветка следует за тем же элементом или снимается. В `Autocomplete` из-за этого после ввода текста был подсвечен случайный вариант, и первая стрелка вниз пропускала первый элемент.
114
+ - **Autocomplete**: подсказки браузера (ранее введённые значения) отображались поверх списка; теперь в поле по умолчанию `autoComplete="off"`.
115
+ - **Autocomplete**: клик по варианту мышью уводил фокус из поля в список, и продолжить ввод было нельзя.
116
+ - **Menu**: после изменения `items` прокрутка списка оставалась прежней, и отфильтрованный список мог открыться с середины.
117
+ - **Autocomplete**: `clearOnBlur` не срабатывал при клике мимо поля, если список был закрыт (нет подходящих вариантов или закрыт по Esc), и в поле оставался недописанный текст.
118
+ - **PhoneField**: явно переданный `startIcon={undefined}` (например, из `Autocomplete`) скрывал флаг страны.
119
+ - **Badge**: при смене `variant` бейдж создавался заново и терял фокус (например, фильтр-переключатель после нажатия); нажатие на кнопку удаления вызывало ещё и `onClick` бейджа; атрибут `color` попадал в DOM; некликабельный бейдж получал `tabindex="-1"`.
120
+ - **LoadingIndicator**: строчный индикатор содержал `<div>` внутри `<span>` — некорректная разметка, в том числе внутри кнопки.
121
+ - **TextField**, **TextArea**: недоступное поле (`disabled`) выглядело так же, как обычное.
122
+ - **TextField**, **TextArea**, **Button**: поля ввода и кнопки не наследовали шрифт страницы — текст в `TextArea` был моноширинным, в полях и кнопках использовался шрифт браузера по умолчанию.
123
+ - **Selectbox**: при `isLoading` индикатор загрузки отображался не в кнопке, а поверх ближайшего позиционированного родителя (например, всей страницы).
124
+ - **Selectbox**: тип `overrides.Icon` не позволял передать собственный компонент без ошибки TypeScript.
125
+ - **Avatar**: свойство `alt` не передавалось изображению; `color` и `size` попадали в DOM как атрибуты; некликабельный аватар получал `tabindex="-1"`; без изображения PNG или JPEG `<img>` оставался с пустым `src`.
126
+
127
+ ## 0.3.0 — 2026-09-24
128
+
129
+ ### Изменено
130
+
131
+ - **Calendar**: номера недель при начале недели с понедельника считаются по ISO 8601; при другом первом дне недели первой считается неделя, содержащая 1 января.
132
+ - **Calendar**: свойство `markToday` по умолчанию `true`, как указано в документации.
133
+ - **Selectbox**: поле отображается и при пустом списке `items` (раньше компонент не рендерился вовсе).
134
+ - **DatePicker**: добавлено свойство `todayButtonLabel`; `toodayButtonLabel` оставлено как устаревший псевдоним.
135
+
136
+ ### Исправлено
137
+
138
+ - **Selectbox**: типы в опубликованном пакете ссылались на несуществующий модуль `Selectbox`.
139
+ - **Selectbox**: `label` не был связан с кнопкой, `onFocus` не вызывался, звёздочка отображалась при `requiredAsterisk={false}`.
140
+ - **Popper**: фактическое положение после автоматического переворота сбрасывалось к `anchorPos`; поповер, открытый сразу при монтировании, оставался невидимым; положение не пересчитывалось при прокрутке вложенных контейнеров и изменении размеров.
141
+ - **Menu**: в режиме `multiple` нельзя было снять выбор, если элементы `value` — копии объектов из `items`; `onRequestClose` вызывался дважды.
142
+ - **ClickOutside**: собственный `ref` дочернего элемента перезаписывался.
143
+ - **TextField**, **TextArea**: идентификаторы генерировались случайно и не совпадали при серверном рендеринге; `TextArea` показывала звёздочку при `requiredAsterisk={false}`.
144
+ - **Autocomplete**: `clearOnBlur` не срабатывал при уходе из поля по Tab.
145
+ - **Calendar**: первый клик в режиме диапазона не вызывал `onChange`; кнопка «Сегодня» создавала неверный диапазон; ограничения `minDate`/`maxDate` сравнивались с точностью до миллисекунд (при `minDate={new Date()}` сегодняшний день был недоступен); список месяцев строился для текущего года вместо отображаемого.
146
+ - **DatePicker**: поле не очищалось при `value={null}`; без значения в календаре подсвечивалась сегодняшняя дата; свойства `overrides`, `markToday` и `weekDayLabelFormat` игнорировались; шаблоны с `D` и `Y` не разбирались, двузначный год превращался в 19xx, некорректные даты (31.02) принимались.
147
+ - **MaskedField**: курсор смещался при редактировании в середине значения, а часть введённого текста терялась; маски, заканчивающиеся литералом, никогда не считались заполненными.
148
+ - **Swiper**: после клика без перетаскивания переставали работать автопрокрутка и `goToIndex`.
149
+ - **Modal**: окно пропадало при повторном открытии во время анимации закрытия; использовались значения `onRequestClose` и других свойств из первого рендера; прокрутка страницы оставалась заблокированной после размонтирования открытого окна.
150
+ - **TabManager**: порядок перехода по Tab не совпадал с браузерным, учитывались отключённые элементы, не учитывался фокус, поставленный мышью.
151
+ - **Color**: парсер не поддерживал проценты, отрицательный оттенок и `transparent`.
152
+
153
+ ## 0.2.6 — 2026-09-09
154
+
155
+ Основные изменения с версии 0.1.2 (подробный список не вёлся):
156
+
157
+ - **Calendar**: режим выбора диапазона дат, обработка `null` в режиме диапазона.
158
+ - **Swiper**: новый компонент, в том числе с бесконечной прокруткой.
159
+ - **Menu**: виртуализированный список.
160
+ - **Popper**: переработка позиционирования, исправления производительности и расчёта положения.
@@ -28,11 +28,18 @@ const Btn = (0, styled_1.default)(Button_1.default) `
28
28
  padding: 1em;
29
29
  margin: 0;
30
30
  min-width: 0;
31
- outline: none;
32
31
  position: relative;
33
- color: ${({ theme, $isSelected }) => $isSelected
34
- ? theme.color.accentPrimaryContrast.toString()
35
- : theme.color.textPrimary.toString()};
32
+ color: ${({ theme, $isSelected, disabled }) => {
33
+ switch (true) {
34
+ case $isSelected:
35
+ return theme.color.accentPrimaryContrast.toString();
36
+ // The days out of minDate/maxDate are dimmed
37
+ case disabled:
38
+ return theme.color.textPrimary.alpha(0.3).toString();
39
+ default:
40
+ return theme.color.textPrimary.toString();
41
+ }
42
+ }};
36
43
  border-radius: ${({ theme }) => theme.shape.radiusFactor * 3}em;
37
44
  ${({ $fill, theme, $isSelected }) => $fill &&
38
45
  !$isSelected &&
@@ -93,6 +93,17 @@ export type CalendarProps<IsRangeValue extends boolean | undefined = undefined>
93
93
  * Label for the Today button. If label passed, then button will be rendered
94
94
  */
95
95
  readonly todayButtonLabel?: string;
96
+ /**
97
+ * The label of the «previous» button for screen readers and the tooltip.
98
+ * The button switches the month in the days view and the year in the months view\
99
+ * **Default:** `Previous`
100
+ */
101
+ readonly prevButtonLabel?: string;
102
+ /**
103
+ * The label of the «next» button for screen readers and the tooltip\
104
+ * **Default:** `Next`
105
+ */
106
+ readonly nextButtonLabel?: string;
96
107
  /**
97
108
  * Heading
98
109
  */
@@ -144,7 +155,7 @@ export interface CalendarOverrides {
144
155
  /**
145
156
  * Empty cell element
146
157
  */
147
- readonly EmptyCell?: React.ComponentType<CalendarEmptyCellProps & React.RefAttributes<HTMLButtonElement>>;
158
+ readonly EmptyCell?: React.ComponentType<CalendarEmptyCellProps & React.RefAttributes<HTMLSpanElement>>;
148
159
  /**
149
160
  * Common container element
150
161
  */
@@ -156,7 +167,7 @@ export interface CalendarOverrides {
156
167
  /**
157
168
  * Week row container element
158
169
  */
159
- readonly WeekRow?: React.ComponentType<CalendarWeekRowProps & React.RefAttributes<HTMLDivElement>>;
170
+ readonly WeekRow?: React.ComponentType<CalendarWeekRowProps & React.RefAttributes<HTMLSpanElement>>;
160
171
  /**
161
172
  * Days wrapper element
162
173
  */
@@ -200,11 +211,11 @@ export interface CalendarOverrides {
200
211
  /**
201
212
  * Prev icon element in prev month button
202
213
  */
203
- readonly IconPrev?: React.ComponentType<CalendarIconPrevProps & React.RefAttributes<SVGElement>>;
214
+ readonly IconPrev?: React.ComponentType<CalendarIconPrevProps & React.RefAttributes<SVGSVGElement>>;
204
215
  /**
205
216
  * Next icon element in next month button
206
217
  */
207
- readonly IconNext?: React.ComponentType<CalendarIconNextProps & React.RefAttributes<SVGElement>>;
218
+ readonly IconNext?: React.ComponentType<CalendarIconNextProps & React.RefAttributes<SVGSVGElement>>;
208
219
  /**
209
220
  * Weeks bar element
210
221
  */