@sima-land/ui-nucleons 45.0.0-alpha.10 → 45.0.0-alpha.11

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 (767) hide show
  1. package/README.md +103 -0
  2. package/_internal/custom-scrollbar/custom-scrollbar.d.ts +13 -0
  3. package/_internal/custom-scrollbar/custom-scrollbar.js +78 -0
  4. package/_internal/custom-scrollbar/custom-scrollbar.js.map +1 -0
  5. package/_internal/custom-scrollbar/custom-scrollbar.module.scss +38 -43
  6. package/_internal/custom-scrollbar/index.d.ts +2 -42
  7. package/_internal/custom-scrollbar/index.js +3 -54
  8. package/_internal/custom-scrollbar/index.js.map +1 -1
  9. package/_internal/custom-scrollbar/types.d.ts +18 -0
  10. package/_internal/custom-scrollbar/types.js.map +1 -0
  11. package/_internal/lifecycle/index.d.ts +11 -0
  12. package/_internal/lifecycle/index.js +23 -0
  13. package/_internal/lifecycle/index.js.map +1 -0
  14. package/_internal/page-scroll-lock/adapters/body-scroll-lock.d.ts +2 -2
  15. package/_internal/page-scroll-lock/adapters/body-scroll-lock.js +3 -3
  16. package/_internal/page-scroll-lock/adapters/body-scroll-lock.js.map +1 -1
  17. package/_internal/page-scroll-lock/adapters/ui-nucleons.d.ts +30 -5
  18. package/_internal/page-scroll-lock/adapters/ui-nucleons.js +4 -3
  19. package/_internal/page-scroll-lock/adapters/ui-nucleons.js.map +1 -1
  20. package/_internal/page-scroll-lock/context.d.ts +3 -12
  21. package/_internal/page-scroll-lock/context.js +4 -28
  22. package/_internal/page-scroll-lock/context.js.map +1 -1
  23. package/_internal/page-scroll-lock/hook.d.ts +1 -1
  24. package/_internal/page-scroll-lock/hook.js +7 -5
  25. package/_internal/page-scroll-lock/hook.js.map +1 -1
  26. package/_internal/page-scroll-lock/index.d.ts +4 -3
  27. package/_internal/page-scroll-lock/index.js +7 -4
  28. package/_internal/page-scroll-lock/index.js.map +1 -1
  29. package/alert/alert-body.d.ts +7 -0
  30. package/alert/alert-body.js +25 -0
  31. package/alert/alert-body.js.map +1 -0
  32. package/alert/alert-body.module.scss +3 -0
  33. package/alert/alert.d.ts +8 -0
  34. package/alert/alert.js +34 -0
  35. package/alert/alert.js.map +1 -0
  36. package/alert/index.d.ts +3 -21
  37. package/alert/index.js +4 -42
  38. package/alert/index.js.map +1 -1
  39. package/alert/types.d.ts +10 -0
  40. package/alert/types.js +3 -0
  41. package/{hooks/breakpoint → alert}/types.js.map +1 -1
  42. package/arrow-button/arrow-button.d.ts +7 -0
  43. package/arrow-button/arrow-button.js +43 -0
  44. package/arrow-button/arrow-button.js.map +1 -0
  45. package/arrow-button/index.d.ts +2 -17
  46. package/arrow-button/index.js +2 -39
  47. package/arrow-button/index.js.map +1 -1
  48. package/arrow-button/types.d.ts +10 -0
  49. package/arrow-button/types.js +3 -0
  50. package/arrow-button/types.js.map +1 -0
  51. package/autocomplete/autocomplete.d.ts +1 -1
  52. package/autocomplete/autocomplete.js +85 -21
  53. package/autocomplete/autocomplete.js.map +1 -1
  54. package/autocomplete/types.d.ts +14 -4
  55. package/autocomplete/utils.d.ts +36 -0
  56. package/autocomplete/utils.js +55 -0
  57. package/autocomplete/utils.js.map +1 -0
  58. package/avatar/avatar.d.ts +3 -3
  59. package/avatar/avatar.js +2 -2
  60. package/avatar/avatar.js.map +1 -1
  61. package/base-input/base-input.d.ts +1 -1
  62. package/base-input/base-input.js +1 -1
  63. package/base-input/types.d.ts +4 -5
  64. package/bottom-bar/bottom-bar.d.ts +2 -2
  65. package/bottom-bar/bottom-bar.js +5 -6
  66. package/bottom-bar/bottom-bar.js.map +1 -1
  67. package/bottom-bar/bottom-bar.module.scss +11 -0
  68. package/bottom-bar/index.d.ts +1 -1
  69. package/bottom-bar/types.d.ts +10 -4
  70. package/box/box.d.ts +8 -0
  71. package/box/box.js +159 -0
  72. package/box/box.js.map +1 -0
  73. package/box/index.d.ts +2 -67
  74. package/box/index.js +2 -155
  75. package/box/index.js.map +1 -1
  76. package/box/types.d.ts +60 -0
  77. package/box/types.js +3 -0
  78. package/box/types.js.map +1 -0
  79. package/breakpoints.scss +6 -2
  80. package/button/button.d.ts +8 -0
  81. package/button/button.js +35 -0
  82. package/button/button.js.map +1 -0
  83. package/button/index.d.ts +2 -50
  84. package/button/index.js +2 -31
  85. package/button/index.js.map +1 -1
  86. package/button/types.d.ts +43 -0
  87. package/button/types.js +3 -0
  88. package/button/types.js.map +1 -0
  89. package/carousel/carousel.d.ts +262 -0
  90. package/carousel/carousel.js +616 -0
  91. package/carousel/carousel.js.map +1 -0
  92. package/carousel/draggable.d.ts +5 -9
  93. package/carousel/draggable.js +3 -7
  94. package/carousel/draggable.js.map +1 -1
  95. package/carousel/helpers/draggable-event.d.ts +1 -4
  96. package/carousel/helpers/draggable-event.js +0 -4
  97. package/carousel/helpers/draggable-event.js.map +1 -1
  98. package/carousel/index.d.ts +2 -311
  99. package/carousel/index.js +2 -606
  100. package/carousel/index.js.map +1 -1
  101. package/carousel/types.d.ts +51 -0
  102. package/carousel/types.js +3 -0
  103. package/carousel/types.js.map +1 -0
  104. package/checkbox/checkbox.d.ts +5 -0
  105. package/checkbox/checkbox.js +19 -0
  106. package/checkbox/checkbox.js.map +1 -0
  107. package/checkbox/index.d.ts +2 -7
  108. package/checkbox/index.js +2 -15
  109. package/checkbox/index.js.map +1 -1
  110. package/checkbox/types.d.ts +2 -0
  111. package/checkbox/types.js +3 -0
  112. package/checkbox/types.js.map +1 -0
  113. package/chip/chip.d.ts +1 -1
  114. package/chip/chip.js +1 -1
  115. package/clean-buttons/clean-button.d.ts +7 -0
  116. package/clean-buttons/clean-button.js +26 -0
  117. package/clean-buttons/clean-button.js.map +1 -0
  118. package/clean-buttons/{clean-buttons.module.scss → clean-button.module.scss} +0 -16
  119. package/clean-buttons/clean-group.d.ts +8 -0
  120. package/clean-buttons/clean-group.js +26 -0
  121. package/clean-buttons/clean-group.js.map +1 -0
  122. package/clean-buttons/clean-group.module.scss +16 -0
  123. package/clean-buttons/index.d.ts +3 -34
  124. package/clean-buttons/index.js +5 -38
  125. package/clean-buttons/index.js.map +1 -1
  126. package/clean-buttons/types.d.ts +13 -0
  127. package/clean-buttons/utils.d.ts +2 -2
  128. package/clean-buttons/utils.js +2 -2
  129. package/clean-buttons/utils.js.map +1 -1
  130. package/context/index.d.ts +10 -0
  131. package/context/index.js +23 -0
  132. package/context/index.js.map +1 -0
  133. package/dot-nav/dot-nav.d.ts +7 -0
  134. package/dot-nav/dot-nav.js +62 -0
  135. package/dot-nav/dot-nav.js.map +1 -0
  136. package/dot-nav/dot-nav.module.scss +3 -1
  137. package/dot-nav/index.d.ts +2 -17
  138. package/dot-nav/index.js +2 -57
  139. package/dot-nav/index.js.map +1 -1
  140. package/dot-nav/types.d.ts +11 -0
  141. package/dot-nav/types.js +3 -0
  142. package/dot-nav/types.js.map +1 -0
  143. package/dropdown/dropdown-loading.d.ts +7 -0
  144. package/{_internal/dropdown-loading/index.js → dropdown/dropdown-loading.js} +7 -5
  145. package/dropdown/dropdown-loading.js.map +1 -0
  146. package/dropdown/dropdown.d.ts +7 -0
  147. package/dropdown/dropdown.js +21 -0
  148. package/dropdown/dropdown.js.map +1 -0
  149. package/dropdown/dropdown.module.scss +4 -0
  150. package/dropdown/index.d.ts +4 -18
  151. package/dropdown/index.js +8 -18
  152. package/dropdown/index.js.map +1 -1
  153. package/dropdown/types.d.ts +16 -0
  154. package/dropdown/types.js +3 -0
  155. package/dropdown/types.js.map +1 -0
  156. package/dropdown/utils.d.ts +7 -2
  157. package/dropdown/utils.js +40 -16
  158. package/dropdown/utils.js.map +1 -1
  159. package/dropdown-item/dropdown-item.d.ts +8 -0
  160. package/dropdown-item/dropdown-item.js +24 -0
  161. package/dropdown-item/dropdown-item.js.map +1 -0
  162. package/dropdown-item/index.d.ts +2 -34
  163. package/dropdown-item/index.js +2 -19
  164. package/dropdown-item/index.js.map +1 -1
  165. package/dropdown-item/types.d.ts +28 -3
  166. package/dropdown-item/utils.js +2 -2
  167. package/dropdown-item/utils.js.map +1 -1
  168. package/expandable/expandable-group.d.ts +13 -0
  169. package/expandable/expandable-group.js +114 -0
  170. package/expandable/expandable-group.js.map +1 -0
  171. package/expandable/index.d.ts +2 -12
  172. package/expandable/index.js +5 -111
  173. package/expandable/index.js.map +1 -1
  174. package/field-block/field-block.d.ts +11 -0
  175. package/field-block/field-block.js +37 -0
  176. package/field-block/field-block.js.map +1 -0
  177. package/field-block/field-block.module.scss +4 -1
  178. package/field-block/index.d.ts +2 -63
  179. package/field-block/index.js +5 -34
  180. package/field-block/index.js.map +1 -1
  181. package/field-block/types.d.ts +52 -0
  182. package/field-block/types.js +3 -0
  183. package/field-block/types.js.map +1 -0
  184. package/file-icon/file-icon.d.ts +7 -0
  185. package/file-icon/file-icon.js +36 -0
  186. package/file-icon/file-icon.js.map +1 -0
  187. package/file-icon/file-icon.module.scss +32 -12
  188. package/file-icon/index.d.ts +2 -18
  189. package/file-icon/index.js +2 -17
  190. package/file-icon/index.js.map +1 -1
  191. package/file-icon/types.d.ts +12 -0
  192. package/file-icon/types.js +3 -0
  193. package/file-icon/types.js.map +1 -0
  194. package/group-overflow/group-overflow.d.ts +7 -0
  195. package/group-overflow/group-overflow.js +28 -0
  196. package/group-overflow/group-overflow.js.map +1 -0
  197. package/group-overflow/index.d.ts +2 -16
  198. package/group-overflow/index.js +2 -24
  199. package/group-overflow/index.js.map +1 -1
  200. package/group-overflow/types.d.ts +10 -0
  201. package/group-overflow/types.js +3 -0
  202. package/group-overflow/types.js.map +1 -0
  203. package/helpers/bounds-of.d.ts +0 -4
  204. package/helpers/bounds-of.js +0 -4
  205. package/helpers/bounds-of.js.map +1 -1
  206. package/helpers/center-of.d.ts +0 -4
  207. package/helpers/center-of.js +0 -4
  208. package/helpers/center-of.js.map +1 -1
  209. package/helpers/create-container.d.ts +1 -4
  210. package/helpers/create-container.js +0 -4
  211. package/helpers/create-container.js.map +1 -1
  212. package/helpers/define-slots.d.ts +4 -4
  213. package/helpers/define-slots.js.map +1 -1
  214. package/helpers/events.d.ts +3 -3
  215. package/helpers/events.js.map +1 -1
  216. package/helpers/{find-child-element.d.ts → find-child-index.d.ts} +0 -4
  217. package/helpers/{find-child-element.js → find-child-index.js} +1 -5
  218. package/helpers/find-child-index.js.map +1 -0
  219. package/helpers/find-sibling-index.d.ts +3 -7
  220. package/helpers/find-sibling-index.js +5 -10
  221. package/helpers/find-sibling-index.js.map +1 -1
  222. package/helpers/format-date.js +1 -2
  223. package/helpers/format-date.js.map +1 -1
  224. package/helpers/get-date-interval-data.d.ts +0 -4
  225. package/helpers/get-date-interval-data.js +0 -4
  226. package/helpers/get-date-interval-data.js.map +1 -1
  227. package/helpers/get-declination.d.ts +0 -4
  228. package/helpers/get-declination.js +0 -4
  229. package/helpers/get-declination.js.map +1 -1
  230. package/helpers/get-positioned-parent-offset.d.ts +15 -0
  231. package/helpers/get-positioned-parent-offset.js +41 -0
  232. package/helpers/get-positioned-parent-offset.js.map +1 -0
  233. package/helpers/get-relative-pos.d.ts +0 -4
  234. package/helpers/get-relative-pos.js +0 -4
  235. package/helpers/get-relative-pos.js.map +1 -1
  236. package/helpers/index.d.ts +13 -0
  237. package/helpers/index.js +33 -0
  238. package/helpers/index.js.map +1 -0
  239. package/helpers/is-browser.d.ts +0 -4
  240. package/helpers/is-browser.js +0 -4
  241. package/helpers/is-browser.js.map +1 -1
  242. package/helpers/max-index-of.d.ts +0 -4
  243. package/helpers/max-index-of.js +0 -4
  244. package/helpers/max-index-of.js.map +1 -1
  245. package/helpers/on.d.ts +2 -6
  246. package/helpers/on.js +0 -4
  247. package/helpers/on.js.map +1 -1
  248. package/helpers/point.d.ts +0 -4
  249. package/helpers/point.js +1 -4
  250. package/helpers/point.js.map +1 -1
  251. package/helpers/scroll-to-child.js +2 -6
  252. package/helpers/scroll-to-child.js.map +1 -1
  253. package/helpers/styles.d.ts +2 -6
  254. package/helpers/styles.js +3 -12
  255. package/helpers/styles.js.map +1 -1
  256. package/hint/utils.js +9 -6
  257. package/hint/utils.js.map +1 -1
  258. package/hooks/index.d.ts +9 -29
  259. package/hooks/index.js +19 -76
  260. package/hooks/index.js.map +1 -1
  261. package/hooks/{breakpoint → use-breakpoint}/index.js +6 -6
  262. package/hooks/use-breakpoint/index.js.map +1 -0
  263. package/hooks/use-breakpoint/types.js +3 -0
  264. package/hooks/use-breakpoint/types.js.map +1 -0
  265. package/hooks/{breakpoint → use-breakpoint}/utils.d.ts +3 -1
  266. package/hooks/{breakpoint → use-breakpoint}/utils.js +4 -5
  267. package/hooks/use-breakpoint/utils.js.map +1 -0
  268. package/hooks/{identity.d.ts → use-identity-ref/index.d.ts} +1 -1
  269. package/hooks/{identity.js → use-identity-ref/index.js} +3 -3
  270. package/hooks/use-identity-ref/index.js.map +1 -0
  271. package/hooks/use-infinite-scroll/index.d.ts +13 -0
  272. package/hooks/use-infinite-scroll/index.js +31 -0
  273. package/hooks/use-infinite-scroll/index.js.map +1 -0
  274. package/hooks/{intersection/readme.md → use-intersection/README.md} +5 -5
  275. package/hooks/{intersection → use-intersection}/index.js +6 -4
  276. package/hooks/use-intersection/index.js.map +1 -0
  277. package/hooks/use-intersection/test-utils.js.map +1 -0
  278. package/hooks/use-is-touch-device/index.d.ts +5 -0
  279. package/hooks/use-is-touch-device/index.js +18 -0
  280. package/hooks/use-is-touch-device/index.js.map +1 -0
  281. package/hooks/use-isomorphic-layout-effect/index.d.ts +6 -0
  282. package/hooks/use-isomorphic-layout-effect/index.js +10 -0
  283. package/hooks/use-isomorphic-layout-effect/index.js.map +1 -0
  284. package/hooks/{keydown.js → use-keydown/index.js} +4 -4
  285. package/hooks/use-keydown/index.js.map +1 -0
  286. package/hooks/{media.d.ts → use-media/index.d.ts} +1 -1
  287. package/hooks/{media.js → use-media/index.js} +10 -7
  288. package/hooks/use-media/index.js.map +1 -0
  289. package/hooks/use-outside-click/index.d.ts +7 -0
  290. package/hooks/use-outside-click/index.js +37 -0
  291. package/hooks/use-outside-click/index.js.map +1 -0
  292. package/info-text/index.d.ts +2 -23
  293. package/info-text/index.js +2 -30
  294. package/info-text/index.js.map +1 -1
  295. package/info-text/info-text.d.ts +8 -0
  296. package/info-text/info-text.js +34 -0
  297. package/info-text/info-text.js.map +1 -0
  298. package/info-text/types.d.ts +16 -0
  299. package/info-text/types.js +3 -0
  300. package/info-text/types.js.map +1 -0
  301. package/input/index.d.ts +2 -32
  302. package/input/index.js +2 -68
  303. package/input/index.js.map +1 -1
  304. package/input/input.d.ts +7 -0
  305. package/input/input.js +73 -0
  306. package/input/input.js.map +1 -0
  307. package/input/types.d.ts +26 -0
  308. package/input/types.js +3 -0
  309. package/input/types.js.map +1 -0
  310. package/layout/layout.d.ts +2 -5
  311. package/layout/layout.js +1 -1
  312. package/layout/layout.js.map +1 -1
  313. package/layout/layout.module.scss +70 -39
  314. package/layout/legacy.d.ts +2 -2
  315. package/layout/types.d.ts +4 -2
  316. package/link/index.d.ts +2 -27
  317. package/link/index.js +2 -31
  318. package/link/index.js.map +1 -1
  319. package/link/link.d.ts +9 -0
  320. package/link/link.js +27 -0
  321. package/link/link.js.map +1 -0
  322. package/link/types.d.ts +14 -0
  323. package/link/types.js +3 -0
  324. package/link/types.js.map +1 -0
  325. package/masked-input/index.d.ts +3 -5
  326. package/masked-input/index.js +3 -3
  327. package/masked-input/index.js.map +1 -1
  328. package/masked-input/masked-input.d.ts +1 -1
  329. package/masked-input/masked-input.js +32 -11
  330. package/masked-input/masked-input.js.map +1 -1
  331. package/masked-input/types.d.ts +6 -5
  332. package/masked-input/use-input-mask.d.ts +9 -0
  333. package/masked-input/use-input-mask.js +65 -0
  334. package/masked-input/use-input-mask.js.map +1 -0
  335. package/masked-input/utils.js +2 -4
  336. package/masked-input/utils.js.map +1 -1
  337. package/modal/index.d.ts +4 -32
  338. package/modal/index.js +9 -45
  339. package/modal/index.js.map +1 -1
  340. package/modal/modal-util.scss +45 -0
  341. package/modal/modal.d.ts +7 -0
  342. package/modal/modal.js +31 -0
  343. package/modal/modal.js.map +1 -0
  344. package/modal/modal.module.scss +45 -100
  345. package/modal/slots.d.ts +7 -24
  346. package/modal/slots.js +16 -34
  347. package/modal/slots.js.map +1 -1
  348. package/modal/types.d.ts +37 -0
  349. package/modal/types.js +3 -0
  350. package/modal/types.js.map +1 -0
  351. package/modal/utils.d.ts +9 -8
  352. package/modal/utils.js +27 -3
  353. package/modal/utils.js.map +1 -1
  354. package/modal/utils.module.scss +45 -0
  355. package/modal-overlay/index.d.ts +3 -13
  356. package/modal-overlay/index.js +6 -26
  357. package/modal-overlay/index.js.map +1 -1
  358. package/modal-overlay/modal-overlay.d.ts +7 -0
  359. package/modal-overlay/modal-overlay.js +30 -0
  360. package/modal-overlay/modal-overlay.js.map +1 -0
  361. package/modal-overlay/types.d.ts +7 -0
  362. package/modal-overlay/types.js +3 -0
  363. package/modal-overlay/types.js.map +1 -0
  364. package/modal-overlay/utils.d.ts +9 -1
  365. package/modal-overlay/utils.js +49 -3
  366. package/modal-overlay/utils.js.map +1 -1
  367. package/no-index/index.d.ts +4 -11
  368. package/no-index/index.js +8 -12
  369. package/no-index/index.js.map +1 -1
  370. package/{no-index-mark/index.d.ts → no-index/no-index-mark.d.ts} +1 -4
  371. package/{no-index-mark/index.js → no-index/no-index-mark.js} +1 -1
  372. package/no-index/no-index-mark.js.map +1 -0
  373. package/no-index/no-index.d.ts +7 -0
  374. package/no-index/no-index.js +15 -0
  375. package/no-index/no-index.js.map +1 -0
  376. package/no-index/types.d.ts +9 -0
  377. package/no-index/types.js +3 -0
  378. package/no-index/types.js.map +1 -0
  379. package/no-index/utils.d.ts +13 -0
  380. package/no-index/utils.js +29 -0
  381. package/no-index/utils.js.map +1 -0
  382. package/package.json +20 -22
  383. package/pagination/pagination.js +1 -1
  384. package/pagination/pagination.js.map +1 -1
  385. package/panel/index.d.ts +2 -38
  386. package/panel/index.js +5 -53
  387. package/panel/index.js.map +1 -1
  388. package/panel/panel.d.ts +20 -0
  389. package/panel/panel.js +57 -0
  390. package/panel/panel.js.map +1 -0
  391. package/panel/types.d.ts +17 -0
  392. package/panel/types.js +3 -0
  393. package/panel/types.js.map +1 -0
  394. package/phone-input/index.js.map +1 -1
  395. package/phone-input/phone-input.d.ts +1 -1
  396. package/phone-input/phone-input.js +66 -39
  397. package/phone-input/phone-input.js.map +1 -1
  398. package/phone-input/phone-input.module.scss +7 -1
  399. package/phone-input/types.d.ts +9 -2
  400. package/plate/index.d.ts +2 -15
  401. package/plate/index.js +2 -16
  402. package/plate/index.js.map +1 -1
  403. package/plate/plate.d.ts +7 -0
  404. package/plate/plate.js +21 -0
  405. package/plate/plate.js.map +1 -0
  406. package/plate/types.d.ts +9 -0
  407. package/plate/types.js +3 -0
  408. package/plate/types.js.map +1 -0
  409. package/popup/index.js.map +1 -1
  410. package/popup/popup-view.d.ts +1 -1
  411. package/popup/popup-view.js +1 -1
  412. package/popup/popup.js +2 -2
  413. package/popup/popup.js.map +1 -1
  414. package/popup/utils.js +2 -2
  415. package/popup/utils.js.map +1 -1
  416. package/portal/index.d.ts +2 -13
  417. package/portal/index.js +2 -23
  418. package/portal/index.js.map +1 -1
  419. package/portal/portal.d.ts +8 -0
  420. package/portal/portal.js +27 -0
  421. package/portal/portal.js.map +1 -0
  422. package/portal/types.d.ts +7 -0
  423. package/portal/types.js +3 -0
  424. package/portal/types.js.map +1 -0
  425. package/price/index.d.ts +2 -20
  426. package/price/index.js +2 -20
  427. package/price/index.js.map +1 -1
  428. package/price/price.d.ts +7 -0
  429. package/price/price.js +24 -0
  430. package/price/price.js.map +1 -0
  431. package/price/types.d.ts +13 -0
  432. package/price/types.js +3 -0
  433. package/price/types.js.map +1 -0
  434. package/radio-button/index.d.ts +2 -10
  435. package/radio-button/index.js +2 -16
  436. package/radio-button/index.js.map +1 -1
  437. package/radio-button/radio-button.d.ts +7 -0
  438. package/radio-button/radio-button.js +20 -0
  439. package/radio-button/radio-button.js.map +1 -0
  440. package/radio-button/types.d.ts +4 -0
  441. package/radio-button/types.js +3 -0
  442. package/radio-button/types.js.map +1 -0
  443. package/range/index.d.ts +2 -108
  444. package/range/index.js +2 -258
  445. package/range/index.js.map +1 -1
  446. package/range/range.d.ts +84 -0
  447. package/range/range.js +261 -0
  448. package/range/range.js.map +1 -0
  449. package/range/types.d.ts +26 -0
  450. package/range/types.js +3 -0
  451. package/range/types.js.map +1 -0
  452. package/rating/index.d.ts +2 -16
  453. package/rating/index.js +2 -22
  454. package/rating/index.js.map +1 -1
  455. package/rating/rating.d.ts +7 -0
  456. package/rating/rating.js +26 -0
  457. package/rating/rating.js.map +1 -0
  458. package/rating/types.d.ts +9 -0
  459. package/select/parts/block.d.ts +1 -1
  460. package/select/parts/block.js +1 -1
  461. package/select/parts/button.d.ts +1 -1
  462. package/select/parts/button.js +1 -1
  463. package/select/parts/menu.d.ts +1 -1
  464. package/select/parts/menu.js +10 -13
  465. package/select/parts/menu.js.map +1 -1
  466. package/select/select.d.ts +1 -1
  467. package/select/select.js +20 -5
  468. package/select/select.js.map +1 -1
  469. package/select/types.d.ts +6 -2
  470. package/shadows.scss +40 -4
  471. package/side-page/index.d.ts +3 -39
  472. package/side-page/index.js +7 -55
  473. package/side-page/index.js.map +1 -1
  474. package/side-page/side-page.d.ts +13 -0
  475. package/side-page/side-page.js +58 -0
  476. package/side-page/side-page.js.map +1 -0
  477. package/side-page/types.d.ts +27 -0
  478. package/side-page/types.js +3 -0
  479. package/side-page/types.js.map +1 -0
  480. package/spinner/index.d.ts +2 -34
  481. package/spinner/index.js +5 -43
  482. package/spinner/index.js.map +1 -1
  483. package/spinner/spinner.d.ts +15 -0
  484. package/spinner/spinner.js +41 -0
  485. package/spinner/spinner.js.map +1 -0
  486. package/spinner/spinner.module.scss +12 -4
  487. package/spinner/types.d.ts +15 -0
  488. package/spinner/types.js +3 -0
  489. package/spinner/types.js.map +1 -0
  490. package/stepper/index.d.ts +2 -38
  491. package/stepper/index.js +2 -34
  492. package/stepper/index.js.map +1 -1
  493. package/stepper/stepper.d.ts +8 -0
  494. package/stepper/stepper.js +38 -0
  495. package/stepper/stepper.js.map +1 -0
  496. package/stepper/types.d.ts +31 -0
  497. package/stepper/types.js +3 -0
  498. package/stepper/types.js.map +1 -0
  499. package/stroked-svg/index.d.ts +2 -17
  500. package/stroked-svg/index.js +2 -15
  501. package/stroked-svg/index.js.map +1 -1
  502. package/stroked-svg/stroked-svg.d.ts +8 -0
  503. package/stroked-svg/stroked-svg.js +19 -0
  504. package/stroked-svg/stroked-svg.js.map +1 -0
  505. package/stroked-svg/types.d.ts +12 -0
  506. package/stroked-svg/types.js +3 -0
  507. package/stroked-svg/types.js.map +1 -0
  508. package/styling/borders.module.scss +3 -1
  509. package/styling/index.d.ts +6 -0
  510. package/styling/index.js +31 -0
  511. package/styling/index.js.map +1 -0
  512. package/styling/shadows.module.scss +12 -4
  513. package/styling/utils.d.ts +1 -1
  514. package/styling/utils.js +1 -1
  515. package/super-ellipse-clip-path/index.d.ts +2 -10
  516. package/super-ellipse-clip-path/index.js +2 -8
  517. package/super-ellipse-clip-path/index.js.map +1 -1
  518. package/super-ellipse-clip-path/super-ellipse-clip-path.d.ts +7 -0
  519. package/super-ellipse-clip-path/super-ellipse-clip-path.js +14 -0
  520. package/super-ellipse-clip-path/super-ellipse-clip-path.js.map +1 -0
  521. package/super-ellipse-clip-path/types.d.ts +4 -0
  522. package/super-ellipse-clip-path/types.js +3 -0
  523. package/super-ellipse-clip-path/types.js.map +1 -0
  524. package/switcher-row/index.d.ts +2 -42
  525. package/switcher-row/index.js +2 -52
  526. package/switcher-row/index.js.map +1 -1
  527. package/switcher-row/switcher-row.d.ts +29 -0
  528. package/switcher-row/switcher-row.js +56 -0
  529. package/switcher-row/switcher-row.js.map +1 -0
  530. package/switcher-row/types.d.ts +14 -0
  531. package/switcher-row/types.js +3 -0
  532. package/switcher-row/types.js.map +1 -0
  533. package/tabs/index.d.ts +2 -50
  534. package/tabs/index.js +4 -27
  535. package/tabs/index.js.map +1 -1
  536. package/tabs/tabs.d.ts +16 -0
  537. package/tabs/tabs.js +31 -0
  538. package/tabs/tabs.js.map +1 -0
  539. package/tabs/tabs.module.scss +1 -0
  540. package/tabs/types.d.ts +35 -0
  541. package/tabs/types.js +3 -0
  542. package/tabs/types.js.map +1 -0
  543. package/text/index.d.ts +2 -38
  544. package/text/index.js +5 -47
  545. package/text/index.js.map +1 -1
  546. package/text/text.d.ts +12 -0
  547. package/text/text.js +50 -0
  548. package/text/text.js.map +1 -0
  549. package/text/types.d.ts +28 -0
  550. package/text/types.js +3 -0
  551. package/text/types.js.map +1 -0
  552. package/text-button/index.d.ts +2 -42
  553. package/text-button/index.js +2 -28
  554. package/text-button/index.js.map +1 -1
  555. package/text-button/text-button.d.ts +8 -0
  556. package/text-button/text-button.js +38 -0
  557. package/text-button/text-button.js.map +1 -0
  558. package/text-button/types.d.ts +40 -0
  559. package/text-button/types.js +3 -0
  560. package/text-button/types.js.map +1 -0
  561. package/textarea/index.d.ts +2 -21
  562. package/textarea/index.js +2 -57
  563. package/textarea/index.js.map +1 -1
  564. package/textarea/textarea.d.ts +7 -0
  565. package/textarea/textarea.js +61 -0
  566. package/textarea/textarea.js.map +1 -0
  567. package/textarea/types.d.ts +15 -0
  568. package/textarea/types.js +3 -0
  569. package/textarea/types.js.map +1 -0
  570. package/timer/index.d.ts +2 -16
  571. package/timer/index.js +2 -20
  572. package/timer/index.js.map +1 -1
  573. package/timer/timer.d.ts +7 -0
  574. package/timer/timer.js +24 -0
  575. package/timer/timer.js.map +1 -0
  576. package/timer/types.d.ts +10 -1
  577. package/timer/utils.d.ts +3 -3
  578. package/timer/utils.js +5 -3
  579. package/timer/utils.js.map +1 -1
  580. package/toggle/index.d.ts +2 -7
  581. package/toggle/index.js +2 -15
  582. package/toggle/index.js.map +1 -1
  583. package/toggle/toggle.d.ts +5 -0
  584. package/toggle/toggle.js +21 -0
  585. package/toggle/toggle.js.map +1 -0
  586. package/toggle/types.d.ts +2 -0
  587. package/toggle/types.js +3 -0
  588. package/toggle/types.js.map +1 -0
  589. package/top-bar/top-bar.d.ts +2 -2
  590. package/top-bar/top-bar.js +6 -6
  591. package/top-bar/top-bar.js.map +1 -1
  592. package/top-bar/top-bar.module.scss +24 -10
  593. package/top-bar/types.d.ts +19 -8
  594. package/touch-slider/index.d.ts +2 -13
  595. package/touch-slider/index.js +2 -16
  596. package/touch-slider/index.js.map +1 -1
  597. package/touch-slider/touch-slider.d.ts +9 -0
  598. package/touch-slider/touch-slider.js +22 -0
  599. package/touch-slider/touch-slider.js.map +1 -0
  600. package/touch-slider/types.d.ts +5 -0
  601. package/touch-slider/types.js +3 -0
  602. package/touch-slider/types.js.map +1 -0
  603. package/types.d.ts +1 -1
  604. package/unknown-content/index.d.ts +2 -13
  605. package/unknown-content/index.js +2 -21
  606. package/unknown-content/index.js.map +1 -1
  607. package/unknown-content/types.d.ts +7 -0
  608. package/unknown-content/types.js +3 -0
  609. package/unknown-content/types.js.map +1 -0
  610. package/unknown-content/unknown-content.d.ts +8 -0
  611. package/unknown-content/unknown-content.js +26 -0
  612. package/unknown-content/unknown-content.js.map +1 -0
  613. package/upload-area/types.d.ts +2 -3
  614. package/upload-area/utils.js +2 -2
  615. package/upload-area/utils.js.map +1 -1
  616. package/_internal/dropdown-loading/index.d.ts +0 -9
  617. package/_internal/dropdown-loading/index.js.map +0 -1
  618. package/_internal/utils/dropdown.d.ts +0 -12
  619. package/_internal/utils/dropdown.js +0 -17
  620. package/_internal/utils/dropdown.js.map +0 -1
  621. package/autocomplete-deprecated/autocomplete.module.scss +0 -20
  622. package/autocomplete-deprecated/index.d.ts +0 -28
  623. package/autocomplete-deprecated/index.js +0 -95
  624. package/autocomplete-deprecated/index.js.map +0 -1
  625. package/base-input-deprecated/base-input.module.scss +0 -66
  626. package/base-input-deprecated/index.d.ts +0 -24
  627. package/base-input-deprecated/index.js +0 -43
  628. package/base-input-deprecated/index.js.map +0 -1
  629. package/bordered-layout/bordered-layout.module.scss +0 -7
  630. package/bordered-layout/index.d.ts +0 -16
  631. package/bordered-layout/index.js +0 -33
  632. package/bordered-layout/index.js.map +0 -1
  633. package/card/card.module.scss +0 -8
  634. package/card/index.d.ts +0 -17
  635. package/card/index.js +0 -46
  636. package/card/index.js.map +0 -1
  637. package/card/slots.d.ts +0 -41
  638. package/card/slots.js +0 -52
  639. package/card/slots.js.map +0 -1
  640. package/card/utils.d.ts +0 -3
  641. package/card/utils.js +0 -6
  642. package/card/utils.js.map +0 -1
  643. package/checkbox-field/checkbox-field.module.scss +0 -56
  644. package/checkbox-field/index.d.ts +0 -20
  645. package/checkbox-field/index.js +0 -23
  646. package/checkbox-field/index.js.map +0 -1
  647. package/chips/chips-item.d.ts +0 -16
  648. package/chips/chips-item.js +0 -22
  649. package/chips/chips-item.js.map +0 -1
  650. package/chips/chips-item.module.scss +0 -67
  651. package/chips/chips.d.ts +0 -18
  652. package/chips/chips.js +0 -26
  653. package/chips/chips.js.map +0 -1
  654. package/chips/chips.module.scss +0 -7
  655. package/chips/index.d.ts +0 -2
  656. package/chips/index.js +0 -8
  657. package/chips/index.js.map +0 -1
  658. package/field-grid/field-grid.module.scss +0 -30
  659. package/field-grid/index.d.ts +0 -65
  660. package/field-grid/index.js +0 -122
  661. package/field-grid/index.js.map +0 -1
  662. package/helpers/find-child-element.js.map +0 -1
  663. package/helpers/format-number.d.ts +0 -8
  664. package/helpers/format-number.js +0 -31
  665. package/helpers/format-number.js.map +0 -1
  666. package/helpers/get-no-index.d.ts +0 -8
  667. package/helpers/get-no-index.js +0 -14
  668. package/helpers/get-no-index.js.map +0 -1
  669. package/helpers/rename.d.ts +0 -13
  670. package/helpers/rename.js +0 -15
  671. package/helpers/rename.js.map +0 -1
  672. package/helpers/with-prevent.d.ts +0 -12
  673. package/helpers/with-prevent.js +0 -22
  674. package/helpers/with-prevent.js.map +0 -1
  675. package/hint-deprecated/hint.module.scss +0 -61
  676. package/hint-deprecated/index.d.ts +0 -11
  677. package/hint-deprecated/index.js +0 -17
  678. package/hint-deprecated/index.js.map +0 -1
  679. package/hooks/breakpoint/index.js.map +0 -1
  680. package/hooks/breakpoint/utils.js.map +0 -1
  681. package/hooks/identity.js.map +0 -1
  682. package/hooks/intersection/index.js.map +0 -1
  683. package/hooks/intersection/test-utils.js.map +0 -1
  684. package/hooks/keydown.js.map +0 -1
  685. package/hooks/media.js.map +0 -1
  686. package/hooks/styles.d.ts +0 -6
  687. package/hooks/styles.js +0 -27
  688. package/hooks/styles.js.map +0 -1
  689. package/loading-overlay/index.d.ts +0 -19
  690. package/loading-overlay/index.js +0 -20
  691. package/loading-overlay/index.js.map +0 -1
  692. package/loading-overlay/loading-overlay.module.scss +0 -14
  693. package/masked-field/index.d.ts +0 -23
  694. package/masked-field/index.js +0 -42
  695. package/masked-field/index.js.map +0 -1
  696. package/masked-input/hook.d.ts +0 -8
  697. package/masked-input/hook.js +0 -73
  698. package/masked-input/hook.js.map +0 -1
  699. package/no-index-mark/index.js.map +0 -1
  700. package/pagination-deprecated/base-pagination.d.ts +0 -56
  701. package/pagination-deprecated/base-pagination.js +0 -92
  702. package/pagination-deprecated/base-pagination.js.map +0 -1
  703. package/pagination-deprecated/index.d.ts +0 -22
  704. package/pagination-deprecated/index.js +0 -16
  705. package/pagination-deprecated/index.js.map +0 -1
  706. package/pagination-deprecated/page-button.d.ts +0 -16
  707. package/pagination-deprecated/page-button.js +0 -17
  708. package/pagination-deprecated/page-button.js.map +0 -1
  709. package/pagination-deprecated/pagination.module.scss +0 -76
  710. package/pagination-deprecated/utils.d.ts +0 -58
  711. package/pagination-deprecated/utils.js +0 -125
  712. package/pagination-deprecated/utils.js.map +0 -1
  713. package/phone-input-deprecated/index.d.ts +0 -29
  714. package/phone-input-deprecated/index.js +0 -96
  715. package/phone-input-deprecated/index.js.map +0 -1
  716. package/phone-input-deprecated/phone-input.module.scss +0 -41
  717. package/screen/index.d.ts +0 -27
  718. package/screen/index.js +0 -49
  719. package/screen/index.js.map +0 -1
  720. package/screen/screen.module.scss +0 -31
  721. package/screen/slots.d.ts +0 -28
  722. package/screen/slots.js +0 -70
  723. package/screen/slots.js.map +0 -1
  724. package/screen/utils.d.ts +0 -14
  725. package/screen/utils.js +0 -6
  726. package/screen/utils.js.map +0 -1
  727. package/select-deprecated/index.d.ts +0 -34
  728. package/select-deprecated/index.js +0 -77
  729. package/select-deprecated/index.js.map +0 -1
  730. package/select-deprecated/select.module.scss +0 -26
  731. package/text-field/index.d.ts +0 -69
  732. package/text-field/index.js +0 -79
  733. package/text-field/index.js.map +0 -1
  734. package/text-field/text-field.module.scss +0 -205
  735. package/tooltip/index.d.ts +0 -18
  736. package/tooltip/index.js +0 -20
  737. package/tooltip/index.js.map +0 -1
  738. package/tooltip/tooltip.module.scss +0 -49
  739. package/with-hint/index.d.ts +0 -31
  740. package/with-hint/index.js +0 -49
  741. package/with-hint/index.js.map +0 -1
  742. package/with-hint/positioning-hint.d.ts +0 -12
  743. package/with-hint/positioning-hint.js +0 -32
  744. package/with-hint/positioning-hint.js.map +0 -1
  745. package/with-hint/positioning-hint.module.scss +0 -10
  746. package/with-hint/utils.d.ts +0 -17
  747. package/with-hint/utils.js +0 -51
  748. package/with-hint/utils.js.map +0 -1
  749. package/with-tooltip/index.d.ts +0 -18
  750. package/with-tooltip/index.js +0 -24
  751. package/with-tooltip/index.js.map +0 -1
  752. package/with-tooltip/positioning-tooltip.d.ts +0 -15
  753. package/with-tooltip/positioning-tooltip.js +0 -59
  754. package/with-tooltip/positioning-tooltip.js.map +0 -1
  755. package/with-tooltip/utils.d.ts +0 -38
  756. package/with-tooltip/utils.js +0 -163
  757. package/with-tooltip/utils.js.map +0 -1
  758. /package/_internal/{readme.md → README.md} +0 -0
  759. /package/{hooks/breakpoint → _internal/custom-scrollbar}/types.js +0 -0
  760. /package/{_internal/dropdown-loading/index.module.scss → dropdown/dropdown-loading.module.scss} +0 -0
  761. /package/hooks/{breakpoint → use-breakpoint}/index.d.ts +0 -0
  762. /package/hooks/{breakpoint → use-breakpoint}/types.d.ts +0 -0
  763. /package/hooks/{intersection → use-intersection}/index.d.ts +0 -0
  764. /package/hooks/{intersection → use-intersection}/test-utils.d.ts +0 -0
  765. /package/hooks/{intersection → use-intersection}/test-utils.js +0 -0
  766. /package/hooks/{keydown.d.ts → use-keydown/index.d.ts} +0 -0
  767. /package/stroked-svg/{index.module.scss → stroked-svg.module.scss} +0 -0
package/README.md ADDED
@@ -0,0 +1,103 @@
1
+ # UI-nucleons
2
+
3
+ В этом проекте собраны UI-компоненты, реализующие правила дизайн-системы, а также компоненты и утилиты, которые помогают решать распространенные задачи разработки UI.
4
+
5
+ ## Использование
6
+
7
+ ### Установка
8
+
9
+ ```sh
10
+ # с помощью npm
11
+ npm i -S @sima-land/ui-nucleons
12
+
13
+ # или с помощью yarn
14
+ yarn add @sima-land/ui-nucleons
15
+ ```
16
+
17
+ ### Настройка среды
18
+
19
+ В библиотеке используются:
20
+
21
+ - импорты изображений (jpg, png...) как url/base64
22
+ - импорты стилей
23
+ - импорты стилей как css-модулей (каждый такой файл промаркирован в виде `%filename%.module.scss`)
24
+
25
+ #### Для работы с Webpack
26
+
27
+ Необходимо сконфигурировать сборку подобным образом:
28
+
29
+ ```js
30
+ // webpack.config.js
31
+ module.exports = {
32
+ module: {
33
+ rules: [
34
+ // стили
35
+ {
36
+ test: /\.(css|scss)$/,
37
+ use: [
38
+ 'style-loader',
39
+ {
40
+ loader: 'css-loader',
41
+ options: {
42
+ modules: {
43
+ auto: /\.module\.(css|scss)$/,
44
+ localIdentName: '[name]__[local]--[hash:hex:3]',
45
+ },
46
+ },
47
+ },
48
+ 'sass-loader',
49
+ ],
50
+ },
51
+
52
+ // картинки
53
+ {
54
+ test: /\.(apng|avif|gif|jpg|jpeg|png|webp)$/,
55
+ type: 'asset/resource',
56
+ },
57
+ ],
58
+ },
59
+ };
60
+ ```
61
+
62
+ #### Для работы с Jest
63
+
64
+ Необходимо сконфигурировать среду Jest подобно тому как это сделано в данном репозитории (`jest.config.ts`).
65
+
66
+ #### Декларации типов для TypeScript
67
+
68
+ в `src/custom.d.ts` необходимо указать:
69
+
70
+ ```ts
71
+ // css-модули
72
+ declare module '*.module.css' {
73
+ const classes: { [key: string]: string };
74
+ export default classes;
75
+ }
76
+
77
+ // css-модули с синтаксисом SCSS
78
+ declare module '*.module.scss' {
79
+ const classes: { [key: string]: string };
80
+ export default classes;
81
+ }
82
+ ```
83
+
84
+ ## Разработка и поддержка
85
+
86
+ ### Принципы библиотеки
87
+
88
+ - в библиотеке не должно быть HOC (компонентов высшего порядка - функций, возвращающих компонент)
89
+ - компонент интерфейса не должен иметь внешних отступов по умолчанию
90
+
91
+ ### Структура библиотеки
92
+
93
+ `src/` - директория со всеми компонентами библиотеки
94
+
95
+ - `something/` - директория с компонентом
96
+ - `__stories__/`
97
+ - `index.stories.tsx` - описание компонента для storybook
98
+ - `__test__/`
99
+ - `index.test.tsx` - unit-тесты
100
+ - `index.tsx` - файл, с именованными экспортами компонента и интерфейса
101
+ - `helpers/` - общие вспомогательные функции (для использования вне библиотеки)
102
+ - `hooks/` - общие react-хуки (для использования вне библиотеки)
103
+ - `_internal/` - внутренние скрипты для использования только в рамках данной библиотеки
@@ -0,0 +1,13 @@
1
+ import { RefObject } from 'react';
2
+ import { UseOverlayScrollbarsInitialization, UseOverlayScrollbarsInstance } from 'overlayscrollbars-react';
3
+ import type { CustomScrollbarProps } from './types';
4
+ import 'overlayscrollbars/overlayscrollbars.css';
5
+ /**
6
+ * Блок с кастомными полосами прокрутки.
7
+ * @param props Свойства.
8
+ * @return Элемент.
9
+ * @todo Переименовать в StyledScrollbars и вынести из _internal?
10
+ */
11
+ export declare function CustomScrollbar({ children, style, className, overflow, rootRef, viewportRef, viewportProps, ...restProps }: CustomScrollbarProps): import("react/jsx-runtime").JSX.Element;
12
+ /** @inheritdoc */
13
+ export declare function useOverlayScrollbarsInit(initialize: UseOverlayScrollbarsInitialization, getInstance: UseOverlayScrollbarsInstance, rootRef: RefObject<HTMLDivElement>, viewportRef: RefObject<HTMLDivElement>): void;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useOverlayScrollbarsInit = exports.CustomScrollbar = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const overlayscrollbars_react_1 = require("overlayscrollbars-react");
10
+ const hooks_1 = require("../../hooks");
11
+ const bind_1 = __importDefault(require("classnames/bind"));
12
+ // ВАЖНО: сначала стили overlayscrollbars затем местные для правильной специфичности
13
+ require("overlayscrollbars/overlayscrollbars.css");
14
+ const custom_scrollbar_module_scss_1 = __importDefault(require("./custom-scrollbar.module.scss"));
15
+ const cx = bind_1.default.bind(custom_scrollbar_module_scss_1.default);
16
+ /**
17
+ * Блок с кастомными полосами прокрутки.
18
+ * @param props Свойства.
19
+ * @return Элемент.
20
+ * @todo Переименовать в StyledScrollbars и вынести из _internal?
21
+ */
22
+ function CustomScrollbar({ children, style, className, overflow, rootRef, viewportRef, viewportProps, ...restProps }) {
23
+ const ref = (0, react_1.useRef)(null);
24
+ (0, react_1.useImperativeHandle)(rootRef, () => { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.getElement(); });
25
+ (0, react_1.useImperativeHandle)(viewportRef, () => { var _a, _b; return (_b = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.osInstance()) === null || _b === void 0 ? void 0 : _b.elements().viewport; });
26
+ return ((0, jsx_runtime_1.jsx)(OverlayScrollbarsComponent, { ...restProps, ref: ref, defer: false, style: style, className: cx('root', className), viewportProps: viewportProps, options: {
27
+ // костыль из-за https://github.com/KingSora/OverlayScrollbars/issues/586
28
+ ...(overflow && { overflow }),
29
+ scrollbars: {
30
+ theme: cx('theme'),
31
+ },
32
+ }, children: children }));
33
+ }
34
+ exports.CustomScrollbar = CustomScrollbar;
35
+ /**
36
+ * Аналог OverlayScrollbarsComponent из пакета 'overlayscrollbars-react'.
37
+ * Использует useIsomorphicLayoutEffect вместо useEffect.
38
+ */
39
+ const OverlayScrollbarsComponent = (0, react_1.forwardRef)((props, ref) => {
40
+ const { options, events, defer, children, viewportProps, ...rootProps } = props;
41
+ const rootRef = (0, react_1.useRef)(null);
42
+ const viewportRef = (0, react_1.useRef)(null);
43
+ const [initialize, getInstance] = (0, overlayscrollbars_react_1.useOverlayScrollbars)({ options, events, defer });
44
+ (0, react_1.useImperativeHandle)(ref, () => ({
45
+ /** @inheritdoc */
46
+ osInstance() {
47
+ return getInstance();
48
+ },
49
+ /** @inheritdoc */
50
+ getElement() {
51
+ return rootRef.current;
52
+ },
53
+ }), [initialize, getInstance]);
54
+ useOverlayScrollbarsInit(initialize, getInstance, rootRef, viewportRef);
55
+ return ((0, jsx_runtime_1.jsx)("div", { ...rootProps, ref: rootRef, children: (0, jsx_runtime_1.jsx)("div", { ...viewportProps, ref: viewportRef, children: children }) }));
56
+ });
57
+ /** @inheritdoc */
58
+ function useOverlayScrollbarsInit(initialize, getInstance, rootRef, viewportRef) {
59
+ (0, hooks_1.useIsomorphicLayoutEffect)(() => {
60
+ const { current: root } = rootRef;
61
+ const { current: viewport } = viewportRef;
62
+ if (root && viewport) {
63
+ initialize({
64
+ target: root,
65
+ elements: {
66
+ viewport,
67
+ content: viewport,
68
+ },
69
+ });
70
+ }
71
+ return () => {
72
+ var _a;
73
+ (_a = getInstance()) === null || _a === void 0 ? void 0 : _a.destroy();
74
+ };
75
+ }, [initialize, getInstance]);
76
+ }
77
+ exports.useOverlayScrollbarsInit = useOverlayScrollbarsInit;
78
+ //# sourceMappingURL=custom-scrollbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-scrollbar.js","sourceRoot":"","sources":["../../../src/_internal/custom-scrollbar/custom-scrollbar.tsx"],"names":[],"mappings":"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"}
@@ -1,54 +1,49 @@
1
1
  @use '../../colors';
2
2
 
3
- // important используется здесь так как в storybook оригинальные стили почему-то не перекрываются
4
- $track-bound: 16px;
5
-
6
- .custom-scrollbar {
3
+ .root {
7
4
  max-width: 100%;
8
5
  max-height: 100%;
9
6
  }
10
7
 
11
- .custom-scrollbar :global(.os-scrollbar-handle) {
12
- border-radius: 2px !important;
13
- background: colors.$basic-gray12 !important;
14
- &:hover,
15
- &:global(.active) {
16
- background: colors.$basic-gray24 !important;
17
- }
8
+ .theme:global(.os-scrollbar) {
9
+ --os-size: 12px;
10
+ --os-padding-axis: 4px;
11
+ --os-padding-perpendicular: 0;
12
+
13
+ --os-track-border: none;
14
+ --os-track-border-hover: none;
15
+ --os-track-border-active: none;
16
+ --os-track-border-radius: 0;
17
+ --os-track-bg: none;
18
+ --os-track-bg-hover: none;
19
+ --os-track-bg-active: none;
20
+
21
+ --os-handle-border-radius: 2px;
22
+ --os-handle-bg: #{colors.$basic-gray12};
23
+ --os-handle-bg-hover: #{colors.$basic-gray24};
24
+ --os-handle-bg-active: #{colors.$basic-gray24};
25
+ --os-handle-border: none;
26
+ --os-handle-border-hover: none;
27
+ --os-handle-border-active: none;
28
+ --os-handle-min-size: 33px;
29
+ --os-handle-max-size: none;
30
+ --os-handle-perpendicular-size: 4px;
31
+ --os-handle-perpendicular-size-hover: 4px;
32
+ --os-handle-perpendicular-size-active: 4px;
33
+ --os-handle-interactive-area-offset: 0;
34
+ }
35
+
36
+ .theme :global(.os-scrollbar-handle) {
37
+ transition:
38
+ opacity 0.15s,
39
+ background-color 0.15s,
40
+ border-color 0.15s;
18
41
  }
19
42
 
20
- .custom-scrollbar,
21
- .custom-scrollbar:global(.os-host-scrollbar-horizontal-hidden) {
22
- > :global(.os-scrollbar-vertical) {
23
- width: 12px !important;
24
- padding: 0 !important;
25
- top: $track-bound !important;
26
- bottom: $track-bound !important;
27
- :global(.os-scrollbar-handle) {
28
- left: 4px !important;
29
- width: 4px !important;
30
- &::before {
31
- left: -4px !important;
32
- right: -4px !important;
33
- }
34
- }
35
- }
43
+ .theme:global(.os-scrollbar-horizontal) :global(.os-scrollbar-handle) {
44
+ margin-bottom: 4px;
36
45
  }
37
46
 
38
- .custom-scrollbar,
39
- .custom-scrollbar:global(.os-host-scrollbar-vertical-hidden) {
40
- > :global(.os-scrollbar-horizontal) {
41
- height: 12px !important;
42
- padding: 0 !important;
43
- left: $track-bound !important;
44
- right: $track-bound !important;
45
- :global(.os-scrollbar-handle) {
46
- top: 4px !important;
47
- bottom: 4px !important;
48
- &::before {
49
- top: -4px !important;
50
- bottom: -4px !important;
51
- }
52
- }
53
- }
47
+ .theme:global(.os-scrollbar-vertical) :global(.os-scrollbar-handle) {
48
+ margin-right: 4px;
54
49
  }
@@ -1,42 +1,2 @@
1
- import { CSSProperties, ReactNode, Ref, UIEvent as ReactUIEvent } from 'react';
2
- import { OverlayScrollbarsComponent, OverlayScrollbarsComponentProps } from 'overlayscrollbars-react';
3
- import 'overlayscrollbars/css/OverlayScrollbars.css';
4
- type Options = NonNullable<OverlayScrollbarsComponentProps['options']>;
5
- export interface CustomScrollbarProps {
6
- /** Стили. */
7
- style?: CSSProperties;
8
- /** Класс. */
9
- className?: string;
10
- /** Содержимое. */
11
- children?: ReactNode;
12
- /** Опции переполнения. */
13
- overflow?: Options['overflowBehavior'];
14
- /** Необходимо поставить true если нужно использовать внутри flexbox-родителя. */
15
- inFlexBox?: boolean;
16
- /** Сработает при полной прокрутке. */
17
- onFullScroll?: () => void;
18
- /** Запас для определения полной прокрутки. */
19
- fullScrollThreshold?: number;
20
- /** Реф для экземпляра компонента OverlayScrollbarsComponent. */
21
- osComponentRef?: Ref<OverlayScrollbarsComponent>;
22
- }
23
- /**
24
- * Компонент блока с кастомными полосами прокрутки по гайдам.
25
- * @param props Свойства.
26
- * @return Элемент.
27
- */
28
- export declare function CustomScrollbar({ osComponentRef, style, className, children, overflow, inFlexBox, onFullScroll, fullScrollThreshold, }: CustomScrollbarProps): import("react/jsx-runtime").JSX.Element;
29
- /**
30
- * Возвращает обработчик прокрутки, который вызовет callback при полной прокрутке.
31
- * @param callback Callback.
32
- * @param threshold Запас.
33
- * @return Обработчик.
34
- */
35
- export declare function useFullScroll(callback: VoidFunction | undefined, threshold?: number): (event: UIEvent | ReactUIEvent | undefined) => void;
36
- /**
37
- * Получив OverlayScrollbarsComponent вернет элемент-viewport или null.
38
- * @param component Экземпляр OverlayScrollbarsComponent.
39
- * @return Элемент или null.
40
- */
41
- export declare function getViewport(component: OverlayScrollbarsComponent | undefined | null): HTMLElement | null;
42
- export {};
1
+ export type { CustomScrollbarProps } from './types';
2
+ export { CustomScrollbar } from './custom-scrollbar';
@@ -1,57 +1,6 @@
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.getViewport = exports.useFullScroll = exports.CustomScrollbar = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("react");
9
- const overlayscrollbars_react_1 = require("overlayscrollbars-react");
10
- const bind_1 = __importDefault(require("classnames/bind"));
11
- const custom_scrollbar_module_scss_1 = __importDefault(require("./custom-scrollbar.module.scss"));
12
- const identity_1 = require("../../hooks/identity");
13
- require("overlayscrollbars/css/OverlayScrollbars.css");
14
- const cx = bind_1.default.bind(custom_scrollbar_module_scss_1.default);
15
- /**
16
- * Компонент блока с кастомными полосами прокрутки по гайдам.
17
- * @param props Свойства.
18
- * @return Элемент.
19
- */
20
- function CustomScrollbar({ osComponentRef, style, className, children, overflow, inFlexBox = false, onFullScroll, fullScrollThreshold, }) {
21
- const onScrollStop = useFullScroll(onFullScroll, fullScrollThreshold);
22
- return ((0, jsx_runtime_1.jsx)(overlayscrollbars_react_1.OverlayScrollbarsComponent, { ref: osComponentRef, style: style, className: cx('custom-scrollbar', className, { 'os-host-flexbox': inFlexBox }), options: {
23
- overflowBehavior: overflow,
24
- callbacks: { onScrollStop },
25
- }, children: children }));
26
- }
27
- exports.CustomScrollbar = CustomScrollbar;
28
- /**
29
- * Возвращает обработчик прокрутки, который вызовет callback при полной прокрутке.
30
- * @param callback Callback.
31
- * @param threshold Запас.
32
- * @return Обработчик.
33
- */
34
- function useFullScroll(callback, threshold = 16) {
35
- const callbackRef = (0, identity_1.useIdentityRef)(callback);
36
- // ВАЖНО: overlayscrollbars не реагирует на замену callback'а onScrollStop на undefined поэтому проверяем сами
37
- const handleScrollStop = (0, react_1.useMemo)(() => (event) => {
38
- var _a;
39
- const el = event === null || event === void 0 ? void 0 : event.target;
40
- el instanceof Element &&
41
- el.scrollTop >= el.scrollHeight - el.clientHeight - threshold &&
42
- ((_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.call(callbackRef));
43
- }, []);
44
- return handleScrollStop;
45
- }
46
- exports.useFullScroll = useFullScroll;
47
- /**
48
- * Получив OverlayScrollbarsComponent вернет элемент-viewport или null.
49
- * @param component Экземпляр OverlayScrollbarsComponent.
50
- * @return Элемент или null.
51
- */
52
- function getViewport(component) {
53
- var _a;
54
- return ((_a = component === null || component === void 0 ? void 0 : component.osInstance()) === null || _a === void 0 ? void 0 : _a.getElements().viewport) || null;
55
- }
56
- exports.getViewport = getViewport;
3
+ exports.CustomScrollbar = void 0;
4
+ var custom_scrollbar_1 = require("./custom-scrollbar");
5
+ Object.defineProperty(exports, "CustomScrollbar", { enumerable: true, get: function () { return custom_scrollbar_1.CustomScrollbar; } });
57
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_internal/custom-scrollbar/index.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAwF;AACxF,qEAGiC;AACjC,2DAAyC;AACzC,kGAAoD;AACpD,mDAAsD;AACtD,uDAAqD;AA8BrD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,sCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,YAAY,EACZ,mBAAmB,GACE;IACrB,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAEtE,OAAO,CACL,uBAAC,oDAA0B,IACzB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,EAC9E,OAAO,EAAE;YACP,gBAAgB,EAAE,QAAQ;YAC1B,SAAS,EAAE,EAAE,YAAY,EAAE;SAC5B,YAEA,QAAQ,GACkB,CAC9B,CAAC;AACJ,CAAC;AAzBD,0CAyBC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,QAAkC,EAAE,SAAS,GAAG,EAAE;IAC9E,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,QAAQ,CAAC,CAAC;IAE7C,8GAA8G;IAC9G,MAAM,gBAAgB,GAAG,IAAA,eAAO,EAC9B,GAAG,EAAE,CAAC,CAAC,KAAyC,EAAE,EAAE;;QAClD,MAAM,EAAE,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC;QAEzB,EAAE,YAAY,OAAO;YACnB,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,GAAG,SAAS;aAC7D,MAAA,WAAW,CAAC,OAAO,2DAAI,CAAA,CAAC;IAC5B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAhBD,sCAgBC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CACzB,SAAwD;;IAExD,OAAO,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,EAAE,0CAAE,WAAW,GAAG,QAAQ,KAAI,IAAI,CAAC;AACjE,CAAC;AAJD,kCAIC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_internal/custom-scrollbar/index.ts"],"names":[],"mappings":";;;AACA,uDAAqD;AAA5C,mHAAA,eAAe,OAAA"}
@@ -0,0 +1,18 @@
1
+ import type { CSSProperties, HTMLAttributes, ReactNode, Ref } from 'react';
2
+ import type { PartialOptions } from 'overlayscrollbars';
3
+ export interface CustomScrollbarProps extends HTMLAttributes<HTMLDivElement> {
4
+ /** Стили. */
5
+ style?: CSSProperties;
6
+ /** Класс. */
7
+ className?: string;
8
+ /** Содержимое. */
9
+ children?: ReactNode;
10
+ /** Опции переполнения. */
11
+ overflow?: PartialOptions['overflow'];
12
+ /** Реф корневого элемента. */
13
+ rootRef?: Ref<HTMLDivElement>;
14
+ /** Реф внутреннего элемента с прокруткой. */
15
+ viewportRef?: Ref<HTMLDivElement>;
16
+ /** Свойства внутреннего элемента с прокруткой. */
17
+ viewportProps?: HTMLAttributes<HTMLDivElement>;
18
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/_internal/custom-scrollbar/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Обертка, позволяющая следить за жизненным циклом компонента.
4
+ * @param props Свойства.
5
+ * @return Элемент.
6
+ */
7
+ export declare function Lifecycle({ children, onMount, onUnmount, }: {
8
+ children?: ReactNode;
9
+ onMount?: VoidFunction;
10
+ onUnmount?: VoidFunction;
11
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lifecycle = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ /**
7
+ * Обертка, позволяющая следить за жизненным циклом компонента.
8
+ * @param props Свойства.
9
+ * @return Элемент.
10
+ */
11
+ function Lifecycle({
12
+ // @todo onMountSync (useLayoutEffect)
13
+ children, onMount, onUnmount, }) {
14
+ (0, react_1.useEffect)(() => {
15
+ onMount === null || onMount === void 0 ? void 0 : onMount();
16
+ return () => {
17
+ onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
18
+ };
19
+ }, []);
20
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
21
+ }
22
+ exports.Lifecycle = Lifecycle;
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_internal/lifecycle/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAA6C;AAE7C;;;;GAIG;AACH,SAAgB,SAAS,CAAC;AACxB,sCAAsC;AACtC,QAAQ,EACR,OAAO,EACP,SAAS,GAKV;IACC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QAEZ,OAAO,GAAG,EAAE;YACV,SAAS,aAAT,SAAS,uBAAT,SAAS,EAAI,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,2DAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAnBD,8BAmBC"}
@@ -7,7 +7,7 @@ import { disableBodyScroll, enableBodyScroll, BodyScrollOptions } from 'body-scr
7
7
  */
8
8
  export declare const BSL_IGNORE_ATTR = "data-bsl-ignore";
9
9
  /** Адаптер блокировки прокрутки использующий BSL. */
10
- export declare class PageScrollLock implements PageScrollLockAdapter {
10
+ export declare class PageScrollLockAdapterBSL implements PageScrollLockAdapter {
11
11
  private element;
12
12
  private options?;
13
13
  lib: {
@@ -25,7 +25,7 @@ export declare class PageScrollLock implements PageScrollLockAdapter {
25
25
  * Полезен для использования версии BSL, отличной от той что используется в библиотеке.
26
26
  * @param lib Библиотека body-scroll-lock.
27
27
  */
28
- replaceLib(lib: PageScrollLock['lib']): void;
28
+ replaceLib(lib: PageScrollLockAdapterBSL['lib']): void;
29
29
  /** @inheritdoc */
30
30
  lock(): void;
31
31
  /** @inheritdoc */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allowTouchMove = exports.PageScrollLock = exports.BSL_IGNORE_ATTR = void 0;
3
+ exports.allowTouchMove = exports.PageScrollLockAdapterBSL = exports.BSL_IGNORE_ATTR = void 0;
4
4
  const body_scroll_lock_1 = require("body-scroll-lock");
5
5
  /**
6
6
  * Имя атрибута, устанавливаемого на элемент, имеющий прокрутку.
@@ -9,7 +9,7 @@ const body_scroll_lock_1 = require("body-scroll-lock");
9
9
  */
10
10
  exports.BSL_IGNORE_ATTR = 'data-bsl-ignore';
11
11
  /** Адаптер блокировки прокрутки использующий BSL. */
12
- class PageScrollLock {
12
+ class PageScrollLockAdapterBSL {
13
13
  /**
14
14
  * Конструктор.
15
15
  * @param element Целевой элемент для которого надо сохранить прокрутку.
@@ -43,7 +43,7 @@ class PageScrollLock {
43
43
  this.lib.enableBodyScroll(this.element);
44
44
  }
45
45
  }
46
- exports.PageScrollLock = PageScrollLock;
46
+ exports.PageScrollLockAdapterBSL = PageScrollLockAdapterBSL;
47
47
  /**
48
48
  * Проверяет необходимость блокировки дочерних элементов в прокручиваемом элементе.
49
49
  * Необходима для того, чтобы в прокручиваемых контейнерах вложенные прокручиваемые элементы,
@@ -1 +1 @@
1
- {"version":3,"file":"body-scroll-lock.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/body-scroll-lock.ts"],"names":[],"mappings":";;;AACA,uDAA0F;AAE1F;;;;GAIG;AACU,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEjD,qDAAqD;AACrD,MAAa,cAAc;IASzB;;;;OAIG;IACH,YAAY,OAAgB,EAAE,OAA2B;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG;YACT,iBAAiB,EAAjB,oCAAiB;YACjB,gBAAgB,EAAhB,mCAAgB;SACjB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAA0B;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;YACvC,GAAG,IAAI,CAAC,OAAO;YACf,cAAc,EAAd,sBAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM;QACJ,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AA5CD,wCA4CC;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAkD,CAAC,OAAO,EAAW,EAAE;IAChG,IAAI,EAAE,GAAiC,OAAO,CAAC;IAE/C,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE;QACjC,IAAI,EAAE,CAAC,YAAY,CAAC,uBAAe,CAAC,KAAK,IAAI,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QAED,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;KACvB;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
1
+ {"version":3,"file":"body-scroll-lock.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/body-scroll-lock.ts"],"names":[],"mappings":";;;AACA,uDAA0F;AAE1F;;;;GAIG;AACU,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEjD,qDAAqD;AACrD,MAAa,wBAAwB;IASnC;;;;OAIG;IACH,YAAY,OAAgB,EAAE,OAA2B;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG;YACT,iBAAiB,EAAjB,oCAAiB;YACjB,gBAAgB,EAAhB,mCAAgB;SACjB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAoC;QAC7C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;YACvC,GAAG,IAAI,CAAC,OAAO;YACf,cAAc,EAAd,sBAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM;QACJ,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AA5CD,4DA4CC;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAkD,CAAC,OAAO,EAAW,EAAE;IAChG,IAAI,EAAE,GAAiC,OAAO,CAAC;IAE/C,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE;QACjC,IAAI,EAAE,CAAC,YAAY,CAAC,uBAAe,CAAC,KAAK,IAAI,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QAED,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;KACvB;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
@@ -1,8 +1,8 @@
1
1
  import type { PageScrollLockAdapter, PageScrollLockOptions } from '../types';
2
2
  /** Адаптер блокировки прокрутки использующий внутреннее решение ui-nucleons. */
3
- export declare class PageScrollLock implements PageScrollLockAdapter {
4
- private options?;
5
- private bodyStyle?;
3
+ export declare class PageScrollLockAdapterNucleons implements PageScrollLockAdapter {
4
+ protected options?: PageScrollLockOptions;
5
+ protected bodyStyle?: StyleAffect;
6
6
  /**
7
7
  * Конструктор.
8
8
  * @param options Опции.
@@ -16,10 +16,35 @@ export declare class PageScrollLock implements PageScrollLockAdapter {
16
16
  * Определяет заблокирована ли прокрутка.
17
17
  * @return True если прокрутка заблокирована.
18
18
  */
19
- private isLocked;
19
+ protected isLocked(): boolean;
20
20
  /**
21
21
  * Определяет ширину полосы прокрутки.
22
22
  * @return Ширина в пикселях.
23
23
  */
24
- private getScrollbarWidth;
24
+ protected getScrollbarWidth(): number;
25
+ }
26
+ /** Промежуточный слой для установки стилей на элемент с возможностью восстановления состояния. */
27
+ export declare class StyleAffect {
28
+ protected element: HTMLElement;
29
+ protected changes: Map<string, {
30
+ oldValue: string;
31
+ oldPriority: string | undefined;
32
+ }>;
33
+ /**
34
+ * @param element Целевой элемент.
35
+ */
36
+ constructor(element: HTMLElement);
37
+ /**
38
+ * Устанавливает стили на элемент и запоминает предыдущее значение.
39
+ * @param prop Имя свойства.
40
+ * @param value Значение.
41
+ * @param priority Приоритет.
42
+ * @return Экземпляр.
43
+ */
44
+ set(prop: string, value: string | null, priority?: string): this;
45
+ /**
46
+ * Откатывает стили.
47
+ * @return Экземпляр.
48
+ */
49
+ restore(): this;
25
50
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PageScrollLock = void 0;
3
+ exports.StyleAffect = exports.PageScrollLockAdapterNucleons = void 0;
4
4
  const MARK_ATTR = 'data-scroll-locked';
5
5
  /** Адаптер блокировки прокрутки использующий внутреннее решение ui-nucleons. */
6
- class PageScrollLock {
6
+ class PageScrollLockAdapterNucleons {
7
7
  /**
8
8
  * Конструктор.
9
9
  * @param options Опции.
@@ -62,7 +62,7 @@ class PageScrollLock {
62
62
  return scrollBarWidth;
63
63
  }
64
64
  }
65
- exports.PageScrollLock = PageScrollLock;
65
+ exports.PageScrollLockAdapterNucleons = PageScrollLockAdapterNucleons;
66
66
  /** Промежуточный слой для установки стилей на элемент с возможностью восстановления состояния. */
67
67
  class StyleAffect {
68
68
  /**
@@ -101,4 +101,5 @@ class StyleAffect {
101
101
  return this;
102
102
  }
103
103
  }
104
+ exports.StyleAffect = StyleAffect;
104
105
  //# sourceMappingURL=ui-nucleons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-nucleons.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/ui-nucleons.ts"],"names":[],"mappings":";;;AAEA,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,gFAAgF;AAChF,MAAa,cAAc;IAIzB;;;OAGG;IACH,YAAY,OAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,kBAAkB;IAClB,IAAI;;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;YAErD,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,kFAAkF;YAClF,oFAAoF;YACpF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;YAE5F,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,mBAAmB,EAAE;gBACrC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;aAC5D;YAED,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,kBAAkB;IAClB,MAAM;;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;YAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAE1F,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,EAAE,CAAC;YAC1B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YAE5B,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;SAC1C;IACH,CAAC;IAED;;;OAGG;IACK,QAAQ;QACd,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACK,iBAAiB;QACvB,+CAA+C;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1C,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QACzB,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAE1B,2DAA2D;QAC3D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE1B,MAAM,cAAc,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAEzD,GAAG,CAAC,MAAM,EAAE,CAAC;QAEb,OAAO,cAAc,CAAC;IACxB,CAAC;CACF;AA1ED,wCA0EC;AAED,kGAAkG;AAClG,MAAM,WAAW;IAIf;;OAEG;IACH,YAAY,OAAoB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,IAAY,EAAE,KAAoB,EAAE,QAAiB;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;gBACrB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACnD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;aAC1D,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC7D;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"ui-nucleons.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/ui-nucleons.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- import { PageScrollLockContextValue, PageScrollLockProviderProps } from './types';
2
- /**
3
- * Провайдер реализации блокировки прокрутки.
4
- * @param props Свойства.
5
- * @return Элемент.
6
- */
7
- export declare function PageScrollProvider({ children, adapter }: PageScrollLockProviderProps): import("react/jsx-runtime").JSX.Element;
8
- /**
9
- * Хук использования реализации блокировки прокрутки.
10
- * @return Реализация.
11
- */
12
- export declare function usePageScrollContext(): PageScrollLockContextValue;
1
+ /// <reference types="react" />
2
+ import { PageScrollLockContextValue } from './types';
3
+ export declare const PageScrollLockContext: import("react").Context<PageScrollLockContextValue>;