@sima-land/ui-nucleons 45.0.0-alpha.5 → 45.0.0-alpha.7

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 (441) hide show
  1. package/_internal/custom-scrollbar/index.js +3 -2
  2. package/_internal/custom-scrollbar/index.js.map +1 -0
  3. package/_internal/dropdown-loading/index.js +2 -1
  4. package/_internal/dropdown-loading/index.js.map +1 -0
  5. package/_internal/page-scroll-lock/adapters/body-scroll-lock.js +5 -1
  6. package/_internal/page-scroll-lock/adapters/body-scroll-lock.js.map +1 -0
  7. package/_internal/page-scroll-lock/adapters/ui-nucleons.js +1 -0
  8. package/_internal/page-scroll-lock/adapters/ui-nucleons.js.map +1 -0
  9. package/_internal/page-scroll-lock/context.js +2 -1
  10. package/_internal/page-scroll-lock/context.js.map +1 -0
  11. package/_internal/page-scroll-lock/hook.js +1 -0
  12. package/_internal/page-scroll-lock/hook.js.map +1 -0
  13. package/_internal/page-scroll-lock/index.js +1 -0
  14. package/_internal/page-scroll-lock/index.js.map +1 -0
  15. package/_internal/page-scroll-lock/types.js +1 -0
  16. package/_internal/page-scroll-lock/types.js.map +1 -0
  17. package/_internal/utils/dropdown.js +1 -0
  18. package/_internal/utils/dropdown.js.map +1 -0
  19. package/alert/index.js +3 -2
  20. package/alert/index.js.map +1 -0
  21. package/arrow-button/index.js +3 -14
  22. package/arrow-button/index.js.map +1 -0
  23. package/autocomplete/autocomplete.js +28 -36
  24. package/autocomplete/autocomplete.js.map +1 -0
  25. package/autocomplete/index.js +1 -0
  26. package/autocomplete/index.js.map +1 -0
  27. package/autocomplete/types.js +1 -0
  28. package/autocomplete/types.js.map +1 -0
  29. package/autocomplete-deprecated/index.js +5 -16
  30. package/autocomplete-deprecated/index.js.map +1 -0
  31. package/avatar/avatar.d.ts +8 -0
  32. package/avatar/avatar.js +26 -0
  33. package/avatar/avatar.js.map +1 -0
  34. package/avatar/avatar.module.scss +13 -36
  35. package/avatar/index.d.ts +3 -30
  36. package/avatar/index.js +9 -37
  37. package/avatar/index.js.map +1 -0
  38. package/avatar/types.d.ts +18 -0
  39. package/avatar/types.js +3 -0
  40. package/avatar/types.js.map +1 -0
  41. package/avatar/utils.d.ts +28 -4
  42. package/avatar/utils.js +77 -13
  43. package/avatar/utils.js.map +1 -0
  44. package/avatar/utils.module.scss +9 -0
  45. package/base-input/base-input.js +9 -20
  46. package/base-input/base-input.js.map +1 -0
  47. package/base-input/index.js +1 -0
  48. package/base-input/index.js.map +1 -0
  49. package/base-input/types.js +1 -0
  50. package/base-input/types.js.map +1 -0
  51. package/base-input/utils.js +2 -1
  52. package/base-input/utils.js.map +1 -0
  53. package/base-input-deprecated/index.js +5 -16
  54. package/base-input-deprecated/index.js.map +1 -0
  55. package/bordered-layout/index.js +2 -1
  56. package/bordered-layout/index.js.map +1 -0
  57. package/bottom-bar/bottom-bar.js +3 -14
  58. package/bottom-bar/bottom-bar.js.map +1 -0
  59. package/bottom-bar/index.js +1 -0
  60. package/bottom-bar/index.js.map +1 -0
  61. package/bottom-bar/types.js +1 -0
  62. package/bottom-bar/types.js.map +1 -0
  63. package/box/index.js +1 -0
  64. package/box/index.js.map +1 -0
  65. package/button/button-util.scss +46 -0
  66. package/button/button.module.scss +17 -26
  67. package/button/index.d.ts +12 -2
  68. package/button/index.js +6 -17
  69. package/button/index.js.map +1 -0
  70. package/card/index.js +3 -14
  71. package/card/index.js.map +1 -0
  72. package/card/slots.js +7 -19
  73. package/card/slots.js.map +1 -0
  74. package/card/utils.js +1 -0
  75. package/card/utils.js.map +1 -0
  76. package/carousel/draggable.js +4 -3
  77. package/carousel/draggable.js.map +1 -0
  78. package/carousel/helpers/draggable-event.js +1 -0
  79. package/carousel/helpers/draggable-event.js.map +1 -0
  80. package/carousel/index.js +9 -4
  81. package/carousel/index.js.map +1 -0
  82. package/checkbox/index.js +4 -17
  83. package/checkbox/index.js.map +1 -0
  84. package/checkbox-field/index.d.ts +1 -0
  85. package/checkbox-field/index.js +6 -17
  86. package/checkbox-field/index.js.map +1 -0
  87. package/chips/index.js +2 -15
  88. package/chips/index.js.map +1 -0
  89. package/chips/item.js +2 -1
  90. package/chips/item.js.map +1 -0
  91. package/clean-buttons/index.d.ts +1 -0
  92. package/clean-buttons/index.js +5 -16
  93. package/clean-buttons/index.js.map +1 -0
  94. package/clean-buttons/types.js +1 -0
  95. package/clean-buttons/types.js.map +1 -0
  96. package/clean-buttons/utils.js +1 -0
  97. package/clean-buttons/utils.js.map +1 -0
  98. package/colors/index.d.ts +6 -4
  99. package/colors/index.js +7 -3
  100. package/colors/index.js.map +1 -0
  101. package/colors.scss +2 -0
  102. package/context/viewport.js +1 -0
  103. package/context/viewport.js.map +1 -0
  104. package/dot-nav/index.js +3 -2
  105. package/dot-nav/index.js.map +1 -0
  106. package/dropdown/index.js +3 -14
  107. package/dropdown/index.js.map +1 -0
  108. package/dropdown/utils.js +1 -0
  109. package/dropdown/utils.js.map +1 -0
  110. package/dropdown-item/index.js +3 -14
  111. package/dropdown-item/index.js.map +1 -0
  112. package/dropdown-item/types.js +1 -0
  113. package/dropdown-item/types.js.map +1 -0
  114. package/dropdown-item/utils.js +1 -0
  115. package/dropdown-item/utils.js.map +1 -0
  116. package/expandable/expandable-group.module.scss +1 -5
  117. package/expandable/index.d.ts +4 -34
  118. package/expandable/index.js +78 -24
  119. package/expandable/index.js.map +1 -0
  120. package/expandable/types.d.ts +39 -0
  121. package/expandable/types.js +3 -0
  122. package/expandable/types.js.map +1 -0
  123. package/expandable/utils.d.ts +22 -23
  124. package/expandable/utils.js +66 -80
  125. package/expandable/utils.js.map +1 -0
  126. package/field-block/index.js +2 -1
  127. package/field-block/index.js.map +1 -0
  128. package/field-grid/index.d.ts +6 -0
  129. package/field-grid/index.js +10 -4
  130. package/field-grid/index.js.map +1 -0
  131. package/file-icon/index.js +3 -14
  132. package/file-icon/index.js.map +1 -0
  133. package/group-overflow/index.js +6 -17
  134. package/group-overflow/index.js.map +1 -0
  135. package/group-overflow/utils.js +1 -0
  136. package/group-overflow/utils.js.map +1 -0
  137. package/helpers/bounds-of.js +1 -0
  138. package/helpers/bounds-of.js.map +1 -0
  139. package/helpers/center-of.js +1 -0
  140. package/helpers/center-of.js.map +1 -0
  141. package/helpers/create-container.js +1 -0
  142. package/helpers/create-container.js.map +1 -0
  143. package/helpers/define-slots.js +1 -0
  144. package/helpers/define-slots.js.map +1 -0
  145. package/helpers/events.js +1 -0
  146. package/helpers/events.js.map +1 -0
  147. package/helpers/find-child-element.js +1 -0
  148. package/helpers/find-child-element.js.map +1 -0
  149. package/helpers/find-offset-parent.js +1 -0
  150. package/helpers/find-offset-parent.js.map +1 -0
  151. package/helpers/find-sibling-index.js +1 -0
  152. package/helpers/find-sibling-index.js.map +1 -0
  153. package/helpers/fit-element-height.js +1 -0
  154. package/helpers/fit-element-height.js.map +1 -0
  155. package/helpers/format-date.js +1 -0
  156. package/helpers/format-date.js.map +1 -0
  157. package/helpers/format-number.js +1 -0
  158. package/helpers/format-number.js.map +1 -0
  159. package/helpers/get-date-interval-data.js +1 -0
  160. package/helpers/get-date-interval-data.js.map +1 -0
  161. package/helpers/get-declination.js +1 -0
  162. package/helpers/get-declination.js.map +1 -0
  163. package/helpers/get-fraction-depth.js +1 -0
  164. package/helpers/get-fraction-depth.js.map +1 -0
  165. package/helpers/get-no-index.js +1 -0
  166. package/helpers/get-no-index.js.map +1 -0
  167. package/helpers/get-relative-pos.js +1 -0
  168. package/helpers/get-relative-pos.js.map +1 -0
  169. package/helpers/get-scroll-parent.js +1 -0
  170. package/helpers/get-scroll-parent.js.map +1 -0
  171. package/helpers/is-browser.js +1 -0
  172. package/helpers/is-browser.js.map +1 -0
  173. package/helpers/is-fully-scrolled.js +1 -0
  174. package/helpers/is-fully-scrolled.js.map +1 -0
  175. package/helpers/is-touch-device.js +1 -0
  176. package/helpers/is-touch-device.js.map +1 -0
  177. package/helpers/layer.js +1 -0
  178. package/helpers/layer.js.map +1 -0
  179. package/helpers/max-index-of.js +1 -0
  180. package/helpers/max-index-of.js.map +1 -0
  181. package/helpers/media-query-list.js +1 -0
  182. package/helpers/media-query-list.js.map +1 -0
  183. package/helpers/on.js +1 -0
  184. package/helpers/on.js.map +1 -0
  185. package/helpers/point.js +1 -0
  186. package/helpers/point.js.map +1 -0
  187. package/helpers/rename.js +1 -0
  188. package/helpers/rename.js.map +1 -0
  189. package/helpers/scroll-to-child.js +1 -0
  190. package/helpers/scroll-to-child.js.map +1 -0
  191. package/helpers/styles.js +1 -0
  192. package/helpers/styles.js.map +1 -0
  193. package/helpers/with-prevent.js +1 -0
  194. package/helpers/with-prevent.js.map +1 -0
  195. package/hint/hint-view.js +5 -17
  196. package/hint/hint-view.js.map +1 -0
  197. package/hint/hint.js +5 -17
  198. package/hint/hint.js.map +1 -0
  199. package/hint/index.js +1 -0
  200. package/hint/index.js.map +1 -0
  201. package/hint/utils.js +23 -4
  202. package/hint/utils.js.map +1 -0
  203. package/hint-deprecated/index.js +2 -15
  204. package/hint-deprecated/index.js.map +1 -0
  205. package/hooks/breakpoint/index.js +2 -1
  206. package/hooks/breakpoint/index.js.map +1 -0
  207. package/hooks/breakpoint/types.js +1 -0
  208. package/hooks/breakpoint/types.js.map +1 -0
  209. package/hooks/breakpoint/utils.js +1 -0
  210. package/hooks/breakpoint/utils.js.map +1 -0
  211. package/hooks/identity.js +1 -0
  212. package/hooks/identity.js.map +1 -0
  213. package/hooks/index.js +1 -0
  214. package/hooks/index.js.map +1 -0
  215. package/hooks/intersection/index.js +1 -0
  216. package/hooks/intersection/index.js.map +1 -0
  217. package/hooks/intersection/test-utils.js +6 -2
  218. package/hooks/intersection/test-utils.js.map +1 -0
  219. package/hooks/keydown.js +1 -0
  220. package/hooks/keydown.js.map +1 -0
  221. package/hooks/media.js +1 -0
  222. package/hooks/media.js.map +1 -0
  223. package/hooks/styles.js +1 -0
  224. package/hooks/styles.js.map +1 -0
  225. package/info-text/index.js +4 -3
  226. package/info-text/index.js.map +1 -0
  227. package/input/index.js +29 -31
  228. package/input/index.js.map +1 -0
  229. package/input/utils.js +1 -0
  230. package/input/utils.js.map +1 -0
  231. package/layout/index.js +1 -0
  232. package/layout/index.js.map +1 -0
  233. package/layout/layout.js +3 -14
  234. package/layout/layout.js.map +1 -0
  235. package/layout/legacy.js +2 -15
  236. package/layout/legacy.js.map +1 -0
  237. package/layout/types.js +1 -0
  238. package/layout/types.js.map +1 -0
  239. package/link/index.js +3 -14
  240. package/link/index.js.map +1 -0
  241. package/loading-overlay/index.js +2 -1
  242. package/loading-overlay/index.js.map +1 -0
  243. package/masked-field/index.js +9 -16
  244. package/masked-field/index.js.map +1 -0
  245. package/masked-input/hook.js +1 -0
  246. package/masked-input/hook.js.map +1 -0
  247. package/masked-input/index.js +1 -0
  248. package/masked-input/index.js.map +1 -0
  249. package/masked-input/masked-input.js +9 -17
  250. package/masked-input/masked-input.js.map +1 -0
  251. package/masked-input/types.js +1 -0
  252. package/masked-input/types.js.map +1 -0
  253. package/masked-input/utils.js +1 -0
  254. package/masked-input/utils.js.map +1 -0
  255. package/modal/index.js +3 -2
  256. package/modal/index.js.map +1 -0
  257. package/modal/slots.js +7 -19
  258. package/modal/slots.js.map +1 -0
  259. package/modal/utils.js +1 -0
  260. package/modal/utils.js.map +1 -0
  261. package/modal-overlay/index.js +6 -14
  262. package/modal-overlay/index.js.map +1 -0
  263. package/modal-overlay/utils.js +1 -0
  264. package/modal-overlay/utils.js.map +1 -0
  265. package/no-index/index.js +1 -0
  266. package/no-index/index.js.map +1 -0
  267. package/no-index-mark/index.js +1 -0
  268. package/no-index-mark/index.js.map +1 -0
  269. package/package.json +2 -4
  270. package/pagination/index.d.ts +1 -1
  271. package/pagination/index.js +3 -1
  272. package/pagination/index.js.map +1 -0
  273. package/pagination/pagination-item.js +3 -14
  274. package/pagination/pagination-item.js.map +1 -0
  275. package/pagination/pagination.d.ts +1 -1
  276. package/pagination/pagination.js +40 -20
  277. package/pagination/pagination.js.map +1 -0
  278. package/pagination/pagination.module.scss +5 -4
  279. package/pagination/types.js +1 -0
  280. package/pagination/types.js.map +1 -0
  281. package/pagination/utils.d.ts +12 -0
  282. package/pagination/utils.js +16 -1
  283. package/pagination/utils.js.map +1 -0
  284. package/pagination-deprecated/base-pagination.js +4 -17
  285. package/pagination-deprecated/base-pagination.js.map +1 -0
  286. package/pagination-deprecated/index.js +1 -0
  287. package/pagination-deprecated/index.js.map +1 -0
  288. package/pagination-deprecated/page-button.js +2 -15
  289. package/pagination-deprecated/page-button.js.map +1 -0
  290. package/pagination-deprecated/utils.js +1 -0
  291. package/pagination-deprecated/utils.js.map +1 -0
  292. package/panel/index.js +2 -1
  293. package/panel/index.js.map +1 -0
  294. package/phone-input/index.js +1 -0
  295. package/phone-input/index.js.map +1 -0
  296. package/phone-input/phone-input.js +19 -24
  297. package/phone-input/phone-input.js.map +1 -0
  298. package/phone-input/presets.js +2 -1
  299. package/phone-input/presets.js.map +1 -0
  300. package/phone-input/types.js +1 -0
  301. package/phone-input/types.js.map +1 -0
  302. package/phone-input/utils.js +1 -0
  303. package/phone-input/utils.js.map +1 -0
  304. package/phone-input-deprecated/index.js +20 -22
  305. package/phone-input-deprecated/index.js.map +1 -0
  306. package/plate/index.js +3 -14
  307. package/plate/index.js.map +1 -0
  308. package/popup/index.js +1 -0
  309. package/popup/index.js.map +1 -0
  310. package/popup/popup-view.js +3 -14
  311. package/popup/popup-view.js.map +1 -0
  312. package/popup/popup.js +9 -18
  313. package/popup/popup.js.map +1 -0
  314. package/popup/utils.js +1 -0
  315. package/popup/utils.js.map +1 -0
  316. package/portal/index.js +1 -0
  317. package/portal/index.js.map +1 -0
  318. package/price/index.js +2 -1
  319. package/price/index.js.map +1 -0
  320. package/price/utils.js +1 -0
  321. package/price/utils.js.map +1 -0
  322. package/radio-button/index.js +3 -14
  323. package/radio-button/index.js.map +1 -0
  324. package/range/index.js +3 -2
  325. package/range/index.js.map +1 -0
  326. package/rating/index.js +3 -16
  327. package/rating/index.js.map +1 -0
  328. package/rating/types.js +1 -0
  329. package/rating/types.js.map +1 -0
  330. package/rating/utils.js +1 -0
  331. package/rating/utils.js.map +1 -0
  332. package/screen/index.js +4 -3
  333. package/screen/index.js.map +1 -0
  334. package/screen/slots.js +26 -35
  335. package/screen/slots.js.map +1 -0
  336. package/screen/utils.js +1 -0
  337. package/screen/utils.js.map +1 -0
  338. package/select/index.js +1 -0
  339. package/select/index.js.map +1 -0
  340. package/select/parts/block.js +15 -5
  341. package/select/parts/block.js.map +1 -0
  342. package/select/parts/button.js +4 -15
  343. package/select/parts/button.js.map +1 -0
  344. package/select/parts/menu.js +3 -14
  345. package/select/parts/menu.js.map +1 -0
  346. package/select/select.js +25 -20
  347. package/select/select.js.map +1 -0
  348. package/select/types.js +1 -0
  349. package/select/types.js.map +1 -0
  350. package/select/utils.js +1 -0
  351. package/select/utils.js.map +1 -0
  352. package/select-deprecated/index.js +6 -17
  353. package/select-deprecated/index.js.map +1 -0
  354. package/side-page/index.js +10 -17
  355. package/side-page/index.js.map +1 -0
  356. package/side-page/slots.js +5 -17
  357. package/side-page/slots.js.map +1 -0
  358. package/spinner/index.js +3 -2
  359. package/spinner/index.js.map +1 -0
  360. package/stepper/index.js +5 -16
  361. package/stepper/index.js.map +1 -0
  362. package/stroked-svg/index.js +2 -15
  363. package/stroked-svg/index.js.map +1 -0
  364. package/styling/borders.js +1 -0
  365. package/styling/borders.js.map +1 -0
  366. package/styling/colors.d.ts +5 -5
  367. package/styling/colors.js +1 -0
  368. package/styling/colors.js.map +1 -0
  369. package/styling/fonts.js +1 -0
  370. package/styling/fonts.js.map +1 -0
  371. package/styling/shadows.js +1 -0
  372. package/styling/shadows.js.map +1 -0
  373. package/styling/shapes.js +1 -0
  374. package/styling/shapes.js.map +1 -0
  375. package/styling/sizes.js +1 -0
  376. package/styling/sizes.js.map +1 -0
  377. package/styling/utils.js +1 -0
  378. package/styling/utils.js.map +1 -0
  379. package/super-ellipse-clip-path/index.js +2 -1
  380. package/super-ellipse-clip-path/index.js.map +1 -0
  381. package/switcher-row/index.js +3 -2
  382. package/switcher-row/index.js.map +1 -0
  383. package/tabs/index.js +3 -2
  384. package/tabs/index.js.map +1 -0
  385. package/text/index.js +1 -0
  386. package/text/index.js.map +1 -0
  387. package/text-button/index.js +4 -15
  388. package/text-button/index.js.map +1 -0
  389. package/text-field/index.js +4 -3
  390. package/text-field/index.js.map +1 -0
  391. package/textarea/index.js +22 -24
  392. package/textarea/index.js.map +1 -0
  393. package/timer/index.js +1 -0
  394. package/timer/index.js.map +1 -0
  395. package/timer/types.js +1 -0
  396. package/timer/types.js.map +1 -0
  397. package/timer/utils.js +1 -0
  398. package/timer/utils.js.map +1 -0
  399. package/toggle/index.js +4 -17
  400. package/toggle/index.js.map +1 -0
  401. package/tooltip/index.js +2 -1
  402. package/tooltip/index.js.map +1 -0
  403. package/top-bar/index.js +1 -0
  404. package/top-bar/index.js.map +1 -0
  405. package/top-bar/top-bar.js +9 -16
  406. package/top-bar/top-bar.js.map +1 -0
  407. package/top-bar/types.js +1 -0
  408. package/top-bar/types.js.map +1 -0
  409. package/top-bar/utils.js +18 -13
  410. package/top-bar/utils.js.map +1 -0
  411. package/touch-slider/index.js +2 -1
  412. package/touch-slider/index.js.map +1 -0
  413. package/types.js +1 -0
  414. package/types.js.map +1 -0
  415. package/unknown-content/index.js +2 -1
  416. package/unknown-content/index.js.map +1 -0
  417. package/unknown-content/utils.js +1 -0
  418. package/unknown-content/utils.js.map +1 -0
  419. package/upload-area/index.js +1 -0
  420. package/upload-area/index.js.map +1 -0
  421. package/upload-area/types.js +1 -0
  422. package/upload-area/types.js.map +1 -0
  423. package/upload-area/upload-area.js +4 -3
  424. package/upload-area/upload-area.js.map +1 -0
  425. package/upload-area/utils.js +1 -0
  426. package/upload-area/utils.js.map +1 -0
  427. package/with-hint/index.js +1 -0
  428. package/with-hint/index.js.map +1 -0
  429. package/with-hint/positioning-hint.js +1 -0
  430. package/with-hint/positioning-hint.js.map +1 -0
  431. package/with-hint/utils.js +1 -0
  432. package/with-hint/utils.js.map +1 -0
  433. package/with-tooltip/index.js +3 -2
  434. package/with-tooltip/index.js.map +1 -0
  435. package/with-tooltip/positioning-tooltip.js +3 -2
  436. package/with-tooltip/positioning-tooltip.js.map +1 -0
  437. package/with-tooltip/utils.js +1 -0
  438. package/with-tooltip/utils.js.map +1 -0
  439. package/avatar/user.d.ts +0 -10
  440. package/avatar/user.js +0 -40
  441. package/readme.md +0 -120
package/avatar/index.js CHANGED
@@ -1,39 +1,11 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Avatar = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("react");
9
- const colors_1 = require("../colors");
10
- const utils_1 = require("./utils");
11
- const colors_2 = require("../styling/colors");
12
- const Person_1 = __importDefault(require("@sima-land/ui-quarks/icons/24x24/Stroked/Person"));
13
- const bind_1 = __importDefault(require("classnames/bind"));
14
- const avatar_module_scss_1 = __importDefault(require("./avatar.module.scss"));
15
- const SIZES = [40, 48, 56, 64, 72, 80, 104];
16
- const ICON_SIZES = {
17
- 40: 16,
18
- 48: 24,
19
- 56: 24,
20
- 64: 24,
21
- 72: 24,
22
- 80: 24,
23
- 104: 24,
24
- };
25
- const cx = bind_1.default.bind(avatar_module_scss_1.default);
26
- /**
27
- * Компонент аватара.
28
- * @param props Свойства компонента.
29
- * @return Элемент.
30
- */
31
- function Avatar({ size: sizeProp = 72, imageUrl, bgColor = 'basic-gray4', bgOpacity = 1, textColor = 'basic-gray87', title, monogram = (0, utils_1.getMonogram)(title), className, style, 'data-testid': testId = 'avatar', }) {
32
- const [needImage, toggleImage] = (0, react_1.useState)(() => Boolean(imageUrl));
33
- (0, react_1.useEffect)(() => {
34
- toggleImage(Boolean(imageUrl));
35
- }, [imageUrl]);
36
- const size = SIZES.includes(sizeProp) ? sizeProp : 72;
37
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ "data-testid": testId, className: cx('root', `size-${size}`, (0, colors_2.color)(textColor), className), style: Object.assign(Object.assign({}, style), { '--avatar-color': !needImage ? colors_1.COLORS.get(bgColor) : undefined, '--avatar-color-opacity': bgOpacity }) }, { children: [!needImage && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: monogram ? ((0, jsx_runtime_1.jsx)("span", Object.assign({ className: cx('monogram') }, { children: monogram.slice(0, 2).toUpperCase() }))) : ((0, jsx_runtime_1.jsx)(Person_1.default, { fill: colors_1.COLORS.get(textColor), width: ICON_SIZES[size], height: ICON_SIZES[size], className: cx('icon') })) })), needImage && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("img", { src: imageUrl, alt: '', className: cx('layer', 'image'), onError: () => toggleImage(false) }), (0, jsx_runtime_1.jsx)("div", { className: cx('layer', 'image-overlay') })] }))] })));
38
- }
39
- exports.Avatar = Avatar;
3
+ exports.getUserAvatarColor = exports.getUserAvatarProps = exports.getAvatarIconProps = exports.getNameInitials = exports.Avatar = void 0;
4
+ var avatar_1 = require("./avatar");
5
+ Object.defineProperty(exports, "Avatar", { enumerable: true, get: function () { return avatar_1.Avatar; } });
6
+ var utils_1 = require("./utils");
7
+ Object.defineProperty(exports, "getNameInitials", { enumerable: true, get: function () { return utils_1.getNameInitials; } });
8
+ Object.defineProperty(exports, "getAvatarIconProps", { enumerable: true, get: function () { return utils_1.getAvatarIconProps; } });
9
+ Object.defineProperty(exports, "getUserAvatarProps", { enumerable: true, get: function () { return utils_1.getUserAvatarProps; } });
10
+ Object.defineProperty(exports, "getUserAvatarColor", { enumerable: true, get: function () { return utils_1.getUserAvatarColor; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/avatar/index.ts"],"names":[],"mappings":";;;AACA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,iCAKiB;AAJf,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA"}
@@ -0,0 +1,18 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ import type { WithTestId } from '../types';
3
+ export interface AvatarStyle extends CSSProperties {
4
+ '--avatar-size'?: string;
5
+ '--avatar-color'?: string;
6
+ '--avatar-color-opacity'?: number | string;
7
+ '--avatar-text-color'?: string;
8
+ }
9
+ export interface AvatarProps extends WithTestId {
10
+ /** Класс. */
11
+ className?: string;
12
+ /** Изображение. */
13
+ src?: string;
14
+ /** Стили. */
15
+ style?: AvatarStyle;
16
+ /** Содержимое. */
17
+ children?: ReactNode;
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/avatar/types.ts"],"names":[],"mappings":""}
package/avatar/utils.d.ts CHANGED
@@ -1,6 +1,30 @@
1
+ import type { SVGAttributes } from 'react';
2
+ import type { AvatarProps } from './types';
1
3
  /**
2
- * Формирует монограмму из переданной строки.
3
- * @param value Переданная строка.
4
- * @return Монограмма.
4
+ * Возвращает свойства для аватара пользователя.
5
+ * @param payload Данные пользователя.
6
+ * @param customProps Дополнительные свойства аватара.
7
+ * @return Свойства.
5
8
  */
6
- export declare function getMonogram(value: any): string;
9
+ export declare function getUserAvatarProps({ id, name, image, }: {
10
+ id?: number;
11
+ name?: string;
12
+ image?: string;
13
+ }, customProps?: AvatarProps): AvatarProps;
14
+ /**
15
+ * Возвращает цвет аватара текущего пользователя.
16
+ * @param identity Срока, идентифицирующая пользователя.
17
+ * @return Цвет.
18
+ */
19
+ export declare function getUserAvatarColor(identity: string): string;
20
+ /**
21
+ * Формирует инициалы имени.
22
+ * @param value Строка.
23
+ * @return Инициалы.
24
+ */
25
+ export declare function getNameInitials(value: any): string;
26
+ /**
27
+ * Возвращает свойства для иконки внутри аватара.
28
+ * @return Свойства.
29
+ */
30
+ export declare function getAvatarIconProps(): SVGAttributes<SVGSVGElement>;
package/avatar/utils.js CHANGED
@@ -1,21 +1,85 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMonogram = void 0;
6
+ exports.getAvatarIconProps = exports.getNameInitials = exports.getUserAvatarColor = exports.getUserAvatarProps = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const Person_1 = __importDefault(require("@sima-land/ui-quarks/icons/24x24/Stroked/Person"));
9
+ const classnames_1 = __importDefault(require("classnames"));
10
+ const utils_module_scss_1 = __importDefault(require("./utils.module.scss"));
11
+ const USER_AVATAR_COLOR_TOKENS = [
12
+ '#eb8585',
13
+ '#fda09b',
14
+ '#f49bb1',
15
+ '#ffd785',
16
+ '#ffbb85',
17
+ '#89d7c7',
18
+ '#85e5ac',
19
+ '#b5ef90',
20
+ '#93c4ee',
21
+ '#85caf5',
22
+ '#85ddea',
23
+ '#b3c1c7',
24
+ '#dc9bd5',
25
+ '#b4a8f0',
26
+ '#c999e9',
27
+ ];
4
28
  /**
5
- * Формирует монограмму из переданной строки.
6
- * @param value Переданная строка.
7
- * @return Монограмма.
29
+ * Возвращает свойства для аватара пользователя.
30
+ * @param payload Данные пользователя.
31
+ * @param customProps Дополнительные свойства аватара.
32
+ * @return Свойства.
8
33
  */
9
- function getMonogram(value) {
34
+ function getUserAvatarProps({ id, name, image, }, customProps) {
35
+ return {
36
+ src: image,
37
+ children: getNameInitials(name) || (0, jsx_runtime_1.jsx)(Person_1.default, { ...getAvatarIconProps() }),
38
+ ...customProps,
39
+ className: (0, classnames_1.default)(utils_module_scss_1.default.user, customProps === null || customProps === void 0 ? void 0 : customProps.className),
40
+ style: {
41
+ '--avatar-color': id ? getUserAvatarColor(`${id}`) : undefined,
42
+ ...customProps === null || customProps === void 0 ? void 0 : customProps.style,
43
+ },
44
+ };
45
+ }
46
+ exports.getUserAvatarProps = getUserAvatarProps;
47
+ /**
48
+ * Возвращает цвет аватара текущего пользователя.
49
+ * @param identity Срока, идентифицирующая пользователя.
50
+ * @return Цвет.
51
+ */
52
+ function getUserAvatarColor(identity) {
53
+ let total = 0;
54
+ for (let i = 0; i < identity.length; i++) {
55
+ total += identity.charCodeAt(i);
56
+ }
57
+ const list = USER_AVATAR_COLOR_TOKENS;
58
+ const hash = total % list.length;
59
+ return list[hash];
60
+ }
61
+ exports.getUserAvatarColor = getUserAvatarColor;
62
+ /**
63
+ * Формирует инициалы имени.
64
+ * @param value Строка.
65
+ * @return Инициалы.
66
+ */
67
+ function getNameInitials(value) {
68
+ var _a;
10
69
  if (typeof value === 'string') {
11
- return value
12
- .split(/\s+/g)
13
- .slice(0, 2)
14
- .map(s => s[0])
15
- .reverse()
16
- .join('')
17
- .toUpperCase();
70
+ return ((_a = value[0]) !== null && _a !== void 0 ? _a : '').toUpperCase();
18
71
  }
19
72
  return '';
20
73
  }
21
- exports.getMonogram = getMonogram;
74
+ exports.getNameInitials = getNameInitials;
75
+ /**
76
+ * Возвращает свойства для иконки внутри аватара.
77
+ * @return Свойства.
78
+ */
79
+ function getAvatarIconProps() {
80
+ return {
81
+ className: utils_module_scss_1.default.icon,
82
+ };
83
+ }
84
+ exports.getAvatarIconProps = getAvatarIconProps;
85
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/avatar/utils.tsx"],"names":[],"mappings":";;;;;;;AAEA,6FAAwE;AACxE,4DAAoC;AACpC,4EAAyC;AAEzC,MAAM,wBAAwB,GAA0B;IACtD,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,EACE,EAAE,EACF,IAAI,EACJ,KAAK,GAKN,EACD,WAAyB;IAEzB,OAAO;QACL,GAAG,EAAE,KAAK;QACV,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,uBAAC,gBAAS,OAAK,kBAAkB,EAAE,GAAI;QAC1E,GAAG,WAAW;QACd,SAAS,EAAE,IAAA,oBAAU,EAAC,2BAAM,CAAC,IAAI,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;QAC1D,KAAK,EAAE;YACL,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC9D,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK;SACtB;KACF,CAAC;AACJ,CAAC;AAtBD,gDAsBC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,QAAgB;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KACjC;IAED,MAAM,IAAI,GAAG,wBAAwB,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAXD,gDAWC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAU;;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;KACvC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAND,0CAMC;AAED;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,OAAO;QACL,SAAS,EAAE,2BAAM,CAAC,IAAI;KACvB,CAAC;AACJ,CAAC;AAJD,gDAIC"}
@@ -0,0 +1,9 @@
1
+ .icon {
2
+ fill: currentColor;
3
+ width: calc(var(--avatar-size, 72px) / 2);
4
+ height: calc(var(--avatar-size, 72px) / 2);
5
+ }
6
+
7
+ .user {
8
+ --avatar-text-color: #fff;
9
+ }
@@ -1,15 +1,4 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
@@ -31,9 +20,8 @@ const cx = bind_1.default.bind(base_input_module_scss_1.default);
31
20
  * @param props Свойства.
32
21
  * @return Элемент.
33
22
  */
34
- function BaseInput(_a) {
35
- var _b;
36
- var { inputRef, textareaRef, style, className, restPlaceholder: restPlaceholderProp, 'data-testid': testId = 'base-input' } = _a, props = __rest(_a, ["inputRef", "textareaRef", "style", "className", "restPlaceholder", 'data-testid']);
23
+ function BaseInput({ inputRef, textareaRef, style, className, restPlaceholder: restPlaceholderProp, 'data-testid': testId = 'base-input', ...props }) {
24
+ var _a;
37
25
  const textareaInnerRef = (0, react_1.useRef)(null);
38
26
  const inputInnerRef = (0, react_1.useRef)(null);
39
27
  (0, react_1.useImperativeHandle)(textareaRef, () => textareaInnerRef.current);
@@ -46,16 +34,16 @@ function BaseInput(_a) {
46
34
  });
47
35
  let field;
48
36
  if (props.multiline) {
49
- field = ((0, jsx_runtime_1.jsx)("textarea", Object.assign({}, (0, utils_1.omitMultiline)(props), { ref: textareaInnerRef, rows: (_b = props.rows) !== null && _b !== void 0 ? _b : 1, "data-testid": 'base-input:field' // ВАЖНО: не даем переопределить data-test-id
37
+ field = ((0, jsx_runtime_1.jsx)("textarea", { ...(0, utils_1.omitMultiline)(props), ref: textareaInnerRef, rows: (_a = props.rows) !== null && _a !== void 0 ? _a : 1, "data-testid": 'base-input:field' // ВАЖНО: не даем переопределить data-test-id
50
38
  , className: cx('field', 'reset', 'multiline'), onInput: e => {
51
39
  var _a;
52
40
  (_a = props.onInput) === null || _a === void 0 ? void 0 : _a.call(props, e);
53
41
  (0, fit_element_height_1.fitElementHeight)({ target: e.currentTarget });
54
- } })));
42
+ } }));
55
43
  }
56
44
  else {
57
- field = ((0, jsx_runtime_1.jsx)("input", Object.assign({}, (0, utils_1.omitMultiline)(props), { ref: inputInnerRef, "data-testid": 'base-input:field' // ВАЖНО: не даем переопределить data-test-id
58
- , className: cx('field', 'reset') })));
45
+ field = ((0, jsx_runtime_1.jsx)("input", { ...(0, utils_1.omitMultiline)(props), ref: inputInnerRef, "data-testid": 'base-input:field' // ВАЖНО: не даем переопределить data-test-id
46
+ , className: cx('field', 'reset') }));
59
47
  }
60
48
  let restPlaceholder = null;
61
49
  // скрываем rest placeholder для неконтролируемых полей
@@ -63,8 +51,9 @@ function BaseInput(_a) {
63
51
  restPlaceholder =
64
52
  typeof restPlaceholderProp === 'string'
65
53
  ? { shiftValue: String(props.value), value: restPlaceholderProp }
66
- : Object.assign({ shiftValue: String(props.value), value: '' }, restPlaceholderProp);
54
+ : { shiftValue: String(props.value), value: '', ...restPlaceholderProp };
67
55
  }
68
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ style: style, className: cx('reset', 'root', className), "data-testid": testId }, { children: [!props.multiline && restPlaceholder && restPlaceholder.value && ((0, jsx_runtime_1.jsxs)("span", Object.assign({ "aria-hidden": true, className: cx('rest-placeholder') }, { children: [(0, jsx_runtime_1.jsx)("span", Object.assign({ "data-testid": 'rest-placeholder-shift', className: cx('shift-part') }, { children: restPlaceholder.shiftValue })), (0, jsx_runtime_1.jsx)("span", Object.assign({ "data-testid": 'rest-placeholder', className: cx('main-part') }, { children: restPlaceholder.value }))] }))), field] })));
56
+ return ((0, jsx_runtime_1.jsxs)("div", { style: style, className: cx('reset', 'root', className), "data-testid": testId, children: [!props.multiline && restPlaceholder && restPlaceholder.value && ((0, jsx_runtime_1.jsxs)("span", { "aria-hidden": true, className: cx('rest-placeholder'), children: [(0, jsx_runtime_1.jsx)("span", { "data-testid": 'rest-placeholder-shift', className: cx('shift-part'), children: restPlaceholder.shiftValue }), (0, jsx_runtime_1.jsx)("span", { "data-testid": 'rest-placeholder', className: cx('main-part'), children: restPlaceholder.value })] })), field] }));
69
57
  }
70
58
  exports.BaseInput = BaseInput;
59
+ //# sourceMappingURL=base-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-input.js","sourceRoot":"","sources":["../../src/base-input/base-input.tsx"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseInput = void 0;
4
4
  var base_input_1 = require("./base-input");
5
5
  Object.defineProperty(exports, "BaseInput", { enumerable: true, get: function () { return base_input_1.BaseInput; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base-input/index.ts"],"names":[],"mappings":";;;AAOA,2CAAyC;AAAhC,uGAAA,SAAS,OAAA"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/base-input/types.ts"],"names":[],"mappings":""}
@@ -7,8 +7,9 @@ exports.omitMultiline = void 0;
7
7
  * @return Копия без свойства multiline.
8
8
  */
9
9
  function omitMultiline(source) {
10
- const next = Object.assign({}, source);
10
+ const next = { ...source };
11
11
  delete next.multiline;
12
12
  return next;
13
13
  }
14
14
  exports.omitMultiline = omitMultiline;
15
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/base-input/utils.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,aAAa,CAAgC,MAAS;IACpE,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE3B,OAAO,IAAI,CAAC,SAAS,CAAC;IAEtB,OAAO,IAAI,CAAC;AACd,CAAC;AAND,sCAMC"}
@@ -1,15 +1,4 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
@@ -27,8 +16,7 @@ const cx = bind_1.default.bind(base_input_module_scss_1.default);
27
16
  * @param props Свойства. Поддерживаются свойства элемента input.
28
17
  * @return Элемент.
29
18
  */
30
- exports.BaseInput = (0, react_1.forwardRef)(function BaseInput(_a, ref) {
31
- var { className, disabled, multiline, onInput, restPlaceholder: restPlaceholderProp, rows = 1, style, value } = _a, props = __rest(_a, ["className", "disabled", "multiline", "onInput", "restPlaceholder", "rows", "style", "value"]);
19
+ exports.BaseInput = (0, react_1.forwardRef)(function BaseInput({ className, disabled, multiline, onInput, restPlaceholder: restPlaceholderProp, rows = 1, style, value, ...props }, ref) {
32
20
  const Element = multiline
33
21
  ? 'textarea'
34
22
  : 'input';
@@ -44,11 +32,12 @@ exports.BaseInput = (0, react_1.forwardRef)(function BaseInput(_a, ref) {
44
32
  });
45
33
  const restPlaceholder = typeof restPlaceholderProp === 'string'
46
34
  ? { shiftValue: value, value: restPlaceholderProp }
47
- : Object.assign({ shiftValue: value }, restPlaceholderProp);
48
- return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ "data-testid": 'base-input:root', style: style, className: cx('reset', 'root', disabled && 'disabled', className) }, { children: [!multiline && Boolean(restPlaceholder.value) && ((0, jsx_runtime_1.jsxs)("span", Object.assign({ "aria-hidden": true, className: cx('fake-text') }, { children: [(0, jsx_runtime_1.jsx)("span", Object.assign({ className: cx('invisible-value') }, { children: restPlaceholder.shiftValue })), (0, jsx_runtime_1.jsx)("span", Object.assign({ className: cx('placeholder') }, { children: restPlaceholder.value }))] }))), (0, jsx_runtime_1.jsx)(Element, Object.assign({ "data-testid": 'base-input:field' }, props, { rows: multiline ? rows : undefined, ref: inputRef, disabled: disabled,
35
+ : { shiftValue: value, ...restPlaceholderProp };
36
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-testid": 'base-input:root', style: style, className: cx('reset', 'root', disabled && 'disabled', className), children: [!multiline && Boolean(restPlaceholder.value) && ((0, jsx_runtime_1.jsxs)("span", { "aria-hidden": true, className: cx('fake-text'), children: [(0, jsx_runtime_1.jsx)("span", { className: cx('invisible-value'), children: restPlaceholder.shiftValue }), (0, jsx_runtime_1.jsx)("span", { className: cx('placeholder'), children: restPlaceholder.value })] })), (0, jsx_runtime_1.jsx)(Element, { "data-testid": 'base-input:field', ...props, rows: multiline ? rows : undefined, ref: inputRef, disabled: disabled,
49
37
  // ВАЖНО: не даем возможности задать стили/классы именно для этого элемента
50
38
  className: cx('field', 'reset', multiline && 'multiline'), value: value, onInput: (event) => {
51
39
  multiline && (0, fit_element_height_1.fitElementHeight)(event);
52
40
  onInput === null || onInput === void 0 ? void 0 : onInput(event);
53
- } }))] })));
41
+ } })] }));
54
42
  });
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base-input-deprecated/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAA2E;AAC3E,sEAAiE;AACjE,2DAAyC;AACzC,sFAA8C;AAE9C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,gCAAM,CAAC,CAAC;AAyBnC;;;;;GAKG;AACU,QAAA,SAAS,GAAG,IAAA,kBAAU,EAGjC,SAAS,SAAS,CAClB,EACE,SAAS,EACT,QAAQ,EACR,SAAS,EACT,OAAO,EACP,eAAe,EAAE,mBAAmB,EACpC,IAAI,GAAG,CAAC,EACR,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG;IAEH,MAAM,OAAO,GAAG,SAAS;QACvB,CAAC,CAAC,UAAU;QACZ,CAAC,CAAE,OAAgE,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAA,cAAM,GAA0C,CAAC;IAElE,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEjD,0DAA0D;IAC1D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,SAAS;YACP,QAAQ,CAAC,OAAO;YAChB,IAAA,qCAAgB,EAAC;gBACf,MAAM,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GACnB,OAAO,mBAAmB,KAAK,QAAQ;QACrC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE;QACnD,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,GAAI,mBAA2B,EAAE,CAAC;IAE7D,OAAO,CACL,gDACc,iBAAiB,EAC7B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,IAAI,UAAU,EAAE,SAAS,CAAC,aAEhE,CAAC,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAC/C,uDAAkB,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,aAC1C,iCAAM,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAG,eAAe,CAAC,UAAU,GAAQ,EAC3E,iCAAM,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,YAAG,eAAe,CAAC,KAAK,GAAQ,IAC7D,CACR,EACD,uBAAC,OAAO,mBACM,kBAAkB,KAC1B,KAAK,EACT,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAClC,GAAG,EAAE,QAAe,EACpB,QAAQ,EAAE,QAAQ;gBAClB,2EAA2E;gBAC3E,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,EACzD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;oBACtB,SAAS,IAAI,IAAA,qCAAgB,EAAC,KAAK,CAAC,CAAC;oBACrC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAY,CAAC,CAAC;gBAC1B,CAAC,GACD,IACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -27,6 +27,7 @@ const BorderedLayout = ({ top, bottom, children }) => {
27
27
  else if (bottom) {
28
28
  borderClass = borders_1.InnerBorder.bottom;
29
29
  }
30
- return ((0, jsx_runtime_1.jsx)(layout_1.MobileLayout, Object.assign({ disabledOn: ['mxs', 'ms'] }, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({ className: cx('inner', borderClass) }, { children: children })) })));
30
+ return ((0, jsx_runtime_1.jsx)(layout_1.MobileLayout, { disabledOn: ['mxs', 'ms'], children: (0, jsx_runtime_1.jsx)("div", { className: cx('inner', borderClass), children: children }) }));
31
31
  };
32
32
  exports.BorderedLayout = BorderedLayout;
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bordered-layout/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,2DAAyC;AACzC,sCAAyC;AACzC,gDAAiD;AACjD,gGAAmD;AAanD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,qCAAM,CAAC,CAAC;AAEnC;;;;;GAKG;AACI,MAAM,cAAc,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAuB,EAAE,EAAE;IAC/E,IAAI,WAAW,CAAC;IAEhB,IAAI,GAAG,IAAI,MAAM,EAAE;QACjB,WAAW,GAAG,qBAAW,CAAC,CAAC,CAAC;KAC7B;SAAM,IAAI,GAAG,EAAE;QACd,WAAW,GAAG,qBAAW,CAAC,GAAG,CAAC;KAC/B;SAAM,IAAI,MAAM,EAAE;QACjB,WAAW,GAAG,qBAAW,CAAC,MAAM,CAAC;KAClC;IAED,OAAO,CACL,uBAAC,qBAAY,IAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YACrC,gCAAK,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,YAAG,QAAQ,GAAO,GAC7C,CAChB,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB"}
@@ -1,15 +1,4 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
@@ -36,11 +25,11 @@ exports.BOTTOM_BAR_DEFAULTS = {
36
25
  * @param props Свойства.
37
26
  * @return Элемент.
38
27
  */
39
- function BottomBar(_a) {
40
- var { size = exports.BOTTOM_BAR_DEFAULTS.size, divided, children, className, 'data-testid': testId = 'bottom-bar' } = _a, rest = __rest(_a, ["size", "divided", "children", "className", 'data-testid']);
28
+ function BottomBar({ size = exports.BOTTOM_BAR_DEFAULTS.size, divided, children, className, 'data-testid': testId = 'bottom-bar', ...rest }) {
41
29
  const rooClassName = cx('root', size !== 'unset' && `size-${size}`, { divided }, shapes_1.MediumRounds.bottom, className);
42
30
  return (
43
31
  // чтобы CleanButton автоматически брали размер, соответствующий размеру BottomBar
44
- (0, jsx_runtime_1.jsx)(utils_1.CleanGroupSizeContext.Provider, Object.assign({ value: size }, { children: (0, jsx_runtime_1.jsx)("div", Object.assign({}, rest, { className: rooClassName, "data-testid": testId }, { children: children })) })));
32
+ (0, jsx_runtime_1.jsx)(utils_1.CleanGroupSizeContext.Provider, { value: size, children: (0, jsx_runtime_1.jsx)("div", { ...rest, className: rooClassName, "data-testid": testId, children: children }) }));
45
33
  }
46
34
  exports.BottomBar = BottomBar;
35
+ //# sourceMappingURL=bottom-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bottom-bar.js","sourceRoot":"","sources":["../../src/bottom-bar/bottom-bar.tsx"],"names":[],"mappings":";;;;;;;AAAA,8CAAiD;AACjD,kDAA+D;AAE/D,2DAAyC;AACzC,sFAA8C;AAE9C,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,gCAAM,CAAC,CAAC;AAEnC,8EAA8E;AACjE,QAAA,iBAAiB,GAAkC;IAC9D,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;CACG,CAAC;AAEX,kFAAkF;AACrE,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,GAAG;CACD,CAAC;AAEX;;;;GAIG;AACH,SAAgB,SAAS,CAAC,EACxB,IAAI,GAAG,2BAAmB,CAAC,IAAI,EAC/B,OAAO,EACP,QAAQ,EACR,SAAS,EACT,aAAa,EAAE,MAAM,GAAG,YAAY,EACpC,GAAG,IAAI,EACQ;IACf,MAAM,YAAY,GAAG,EAAE,CACrB,MAAM,EACN,IAAI,KAAK,OAAO,IAAI,QAAQ,IAAI,EAAE,EAClC,EAAE,OAAO,EAAE,EACX,qBAAY,CAAC,MAAM,EACnB,SAAS,CACV,CAAC;IAEF,OAAO;IACL,kFAAkF;IAClF,uBAAC,6BAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YACzC,mCAAS,IAAI,EAAE,SAAS,EAAE,YAAY,iBAAe,MAAM,YACxD,QAAQ,GACL,GACyB,CAClC,CAAC;AACJ,CAAC;AAxBD,8BAwBC"}
@@ -5,3 +5,4 @@ var bottom_bar_1 = require("./bottom-bar");
5
5
  Object.defineProperty(exports, "BottomBar", { enumerable: true, get: function () { return bottom_bar_1.BottomBar; } });
6
6
  Object.defineProperty(exports, "BOTTOM_BAR_DEFAULTS", { enumerable: true, get: function () { return bottom_bar_1.BOTTOM_BAR_DEFAULTS; } });
7
7
  Object.defineProperty(exports, "BOTTOM_BAR_HEIGHT", { enumerable: true, get: function () { return bottom_bar_1.BOTTOM_BAR_HEIGHT; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bottom-bar/index.ts"],"names":[],"mappings":";;;AACA,2CAAiF;AAAxE,uGAAA,SAAS,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAE,+GAAA,iBAAiB,OAAA"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bottom-bar/types.ts"],"names":[],"mappings":""}
package/box/index.js CHANGED
@@ -155,3 +155,4 @@ const getPaddingClasses = ({ padding, paddingTop, paddingBottom, paddingLeft, pa
155
155
  hasPaddingLeft && result.push(Spacing.paddingLeft(paddingLeft));
156
156
  return result.filter(Boolean).join(' ');
157
157
  };
158
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/box/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ @use '../colors';
2
+
3
+ @mixin size-xs {
4
+ --button-min-size: 32px;
5
+ --button-font-size: 14px;
6
+ --button-line-height: 20px;
7
+ --button-gutter: 12px;
8
+ }
9
+
10
+ @mixin size-s {
11
+ --button-min-size: 40px;
12
+ --button-font-size: 16px;
13
+ --button-line-height: 24px;
14
+ --button-gutter: 20px;
15
+ }
16
+
17
+ @mixin size-m {
18
+ --button-min-size: 48px;
19
+ --button-font-size: 16px;
20
+ --button-line-height: 24px;
21
+ --button-gutter: 24px;
22
+ }
23
+
24
+ @mixin color-primary {
25
+ --button-color: #fff;
26
+ --button-background: #{colors.$basic-blue};
27
+ --button-hover-background: #{colors.$additional-unlit-blue};
28
+ --button-disabled-color: #{colors.$basic-gray24};
29
+ --button-disabled-background: #{colors.$basic-gray8};
30
+ }
31
+
32
+ @mixin color-secondary {
33
+ --button-color: #{colors.$basic-gray87};
34
+ --button-background: #{colors.$basic-gray8};
35
+ --button-hover-background: #{colors.$basic-gray12};
36
+ --button-disabled-color: #{colors.$basic-gray24};
37
+ --button-disabled-background: #{colors.$basic-gray8};
38
+ }
39
+
40
+ @mixin color-success {
41
+ --button-color: #fff;
42
+ --button-background: #{colors.$additional-teal};
43
+ --button-hover-background: #{colors.$additional-dark-teal};
44
+ --button-disabled-color: #{colors.$basic-gray24};
45
+ --button-disabled-background: #{colors.$basic-gray8};
46
+ }
@@ -1,4 +1,5 @@
1
1
  @use '../colors';
2
+ @use './button-util';
2
3
 
3
4
  .root {
4
5
  position: relative;
@@ -31,8 +32,8 @@
31
32
  &:disabled,
32
33
  &.disabled {
33
34
  pointer-events: none;
34
- color: colors.$basic-gray24;
35
- background-color: colors.$basic-gray8;
35
+ color: var(--button-disabled-color, var(--button-color));
36
+ background: var(--button-disabled-background, var(--button-background));
36
37
  }
37
38
  &.loading {
38
39
  color: transparent;
@@ -41,28 +42,24 @@
41
42
  pointer-events: 0;
42
43
  }
43
44
  }
45
+ &:not(:disabled):hover {
46
+ cursor: pointer;
47
+ color: var(--button-hover-color, var(--button-color));
48
+ background: var(--button-hover-background, var(--button-background));
49
+ }
44
50
  }
45
51
 
46
52
  // sizes
47
53
  .size-xs {
48
- --button-min-size: 32px;
49
- --button-font-size: 14px;
50
- --button-line-height: 20px;
51
- --button-gutter: 12px;
54
+ @include button-util.size-xs;
52
55
  }
53
56
 
54
57
  .size-s {
55
- --button-min-size: 40px;
56
- --button-font-size: 16px;
57
- --button-line-height: 24px;
58
- --button-gutter: 20px;
58
+ @include button-util.size-s;
59
59
  }
60
60
 
61
61
  .size-m {
62
- --button-min-size: 48px;
63
- --button-font-size: 16px;
64
- --button-line-height: 24px;
65
- --button-gutter: 24px;
62
+ @include button-util.size-m;
66
63
  }
67
64
 
68
65
  // content
@@ -82,21 +79,15 @@
82
79
 
83
80
  // view variants
84
81
  .view-primary {
85
- --button-background: #{colors.$basic-blue};
86
- --button-color: #fff;
87
- &:hover:not(:disabled) {
88
- cursor: pointer;
89
- --button-background: #1b74c1;
90
- }
82
+ @include button-util.color-primary;
91
83
  }
92
84
 
93
85
  .view-secondary {
94
- --button-background: #{colors.$basic-gray8};
95
- --button-color: #{colors.$basic-gray87};
96
- &:hover:not(:disabled) {
97
- cursor: pointer;
98
- --button-background: #{colors.$basic-gray12};
99
- }
86
+ @include button-util.color-secondary;
87
+ }
88
+
89
+ .view-success {
90
+ @include button-util.color-success;
100
91
  }
101
92
 
102
93
  // icons