@vkontakte/vkui 7.11.5 → 7.11.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 (57) hide show
  1. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  2. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +3 -1
  3. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  4. package/dist/components/Popper/Popper.d.ts.map +1 -1
  5. package/dist/components/Popper/Popper.js +3 -1
  6. package/dist/components/Popper/Popper.js.map +1 -1
  7. package/dist/components/Root/Root.d.ts.map +1 -1
  8. package/dist/components/Root/Root.js +38 -31
  9. package/dist/components/Root/Root.js.map +1 -1
  10. package/dist/components/View/View.d.ts.map +1 -1
  11. package/dist/components/View/View.js +59 -52
  12. package/dist/components/View/View.js.map +1 -1
  13. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  14. package/dist/components/View/ViewInfinite.js +43 -36
  15. package/dist/components/View/ViewInfinite.js.map +1 -1
  16. package/dist/components.css +1 -1
  17. package/dist/components.css.map +1 -1
  18. package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +29 -23
  19. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +3 -1
  20. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  21. package/dist/cssm/components/Popper/Popper.js +3 -1
  22. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  23. package/dist/cssm/components/Root/Root.js +36 -29
  24. package/dist/cssm/components/Root/Root.js.map +1 -1
  25. package/dist/cssm/components/View/View.js +57 -50
  26. package/dist/cssm/components/View/View.js.map +1 -1
  27. package/dist/cssm/components/View/ViewInfinite.js +41 -34
  28. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  29. package/dist/cssm/lib/floating/LockFloatingPosition/LockFloatingPosition.js +6 -0
  30. package/dist/cssm/lib/floating/LockFloatingPosition/LockFloatingPosition.js.map +1 -0
  31. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +3 -1
  32. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  33. package/dist/cssm/lib/sheet/controllers/BottomSheetController.js +11 -2
  34. package/dist/cssm/lib/sheet/controllers/BottomSheetController.js.map +1 -1
  35. package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.d.ts +6 -0
  36. package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.d.ts.map +1 -0
  37. package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.js +6 -0
  38. package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.js.map +1 -0
  39. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  40. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +3 -1
  41. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  42. package/dist/lib/sheet/controllers/BottomSheetController.d.ts.map +1 -1
  43. package/dist/lib/sheet/controllers/BottomSheetController.js +11 -2
  44. package/dist/lib/sheet/controllers/BottomSheetController.js.map +1 -1
  45. package/dist/vkui.css +1 -1
  46. package/dist/vkui.css.map +1 -1
  47. package/package.json +1 -1
  48. package/src/components/CustomScrollView/CustomScrollView.module.css +29 -23
  49. package/src/components/CustomScrollView/CustomScrollView.module.css.d.ts.map +1 -1
  50. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +6 -1
  51. package/src/components/Popper/Popper.tsx +12 -7
  52. package/src/components/Root/Root.tsx +55 -48
  53. package/src/components/View/View.tsx +94 -83
  54. package/src/components/View/ViewInfinite.tsx +74 -65
  55. package/src/lib/floating/LockFloatingPosition/LockFloatingPosition.tsx +6 -0
  56. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +4 -1
  57. package/src/lib/sheet/controllers/BottomSheetController.ts +12 -2
@@ -6,6 +6,7 @@ import { useGlobalOnClickOutside } from '../../../hooks/useGlobalOnClickOutside'
6
6
  import { useStableCallback } from '../../../hooks/useStableCallback';
7
7
  import { contains, getActiveElementByAnotherElement } from '../../dom';
8
8
  import { useIsomorphicLayoutEffect } from '../../useIsomorphicLayoutEffect';
9
+ import { LockFloatingPositionContext } from '../LockFloatingPosition/LockFloatingPosition';
9
10
  import { autoUpdateFloatingElement, useFloating } from '../adapters';
10
11
  import { convertFloatingDataToReactCSSProperties } from '../functions';
11
12
  import { type UseFloatingOptions } from '../types/common';
@@ -83,12 +84,14 @@ export const useFloatingWithInteractions = <T extends HTMLElement = HTMLElement>
83
84
 
84
85
  const { triggerOnFocus, triggerOnClick, triggerOnHover } = useResolveTriggerType(trigger);
85
86
 
87
+ const isLock = React.useContext(LockFloatingPositionContext);
88
+
86
89
  // Библиотека `floating-ui`
87
90
  const { placement, x, y, strategy, refs, middlewareData } = useFloating<T>({
88
91
  strategy: strategyProp,
89
92
  placement: placementProp,
90
93
  middleware: middlewares,
91
- whileElementsMounted,
94
+ whileElementsMounted: isLock ? undefined : whileElementsMounted,
92
95
  });
93
96
 
94
97
  const commitShownLocalState = React.useCallback(
@@ -321,9 +321,19 @@ export class BottomSheetController {
321
321
  sheetScrollEl.contains(targetEl) &&
322
322
  sheetScrollEl.scrollHeight > sheetScrollEl.clientHeight
323
323
  ) {
324
- sheetScrollEl.style.setProperty('overflow-y', 'hidden');
324
+ const scrollbarWidth = sheetScrollEl.offsetWidth - sheetScrollEl.clientWidth;
325
+
326
+ Object.assign(sheetScrollEl.style, {
327
+ paddingInlineEnd: `${scrollbarWidth}px`,
328
+ overflowY: 'hidden',
329
+ boxSizing: 'border-box',
330
+ });
325
331
  return function dispose() {
326
- sheetScrollEl.style.removeProperty('overflow-y');
332
+ Object.assign(sheetScrollEl.style, {
333
+ paddingInlineEnd: '',
334
+ overflowY: '',
335
+ boxSizing: '',
336
+ });
327
337
  };
328
338
  }
329
339
  return noop;