@skbkontur/react-ui 3.6.0 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +71 -0
- package/cjs/components/Button/Button.d.ts +1 -0
- package/cjs/components/Button/Button.js +7 -4
- package/cjs/components/Button/Button.js.map +1 -1
- package/cjs/components/Button/Button.styles.js +2 -2
- package/cjs/components/Button/Button.styles.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.js +9 -8
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js +3 -2
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +14 -5
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.d.ts +4 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.js +9 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.styles.js.map +1 -0
- package/cjs/components/FxInput/FxInput.js +1 -1
- package/cjs/components/FxInput/FxInput.js.map +1 -1
- package/cjs/components/Input/Input.styles.js +1 -1
- package/cjs/components/Input/Input.styles.js.map +1 -1
- package/cjs/components/Kebab/Kebab.js +2 -2
- package/cjs/components/Kebab/Kebab.js.map +1 -1
- package/cjs/components/Link/Link.js +2 -2
- package/cjs/components/Link/Link.js.map +1 -1
- package/cjs/components/Loader/Loader.d.ts +3 -1
- package/cjs/components/Loader/Loader.js +20 -1
- package/cjs/components/Loader/Loader.js.map +1 -1
- package/cjs/components/MenuItem/MenuItem.md +1 -1
- package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
- package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.d.ts +1 -0
- package/cjs/components/Modal/Modal.styles.js +24 -21
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/Modal/ModalClose.js +23 -3
- package/cjs/components/Modal/ModalClose.js.map +1 -1
- package/cjs/components/Paging/Paging.js +2 -2
- package/cjs/components/Paging/Paging.js.map +1 -1
- package/cjs/components/Paging/Paging.styles.js +2 -1
- package/cjs/components/Paging/Paging.styles.js.map +1 -1
- package/cjs/components/Radio/Radio.d.ts +9 -1
- package/cjs/components/Radio/Radio.js +37 -4
- package/cjs/components/Radio/Radio.js.map +1 -1
- package/cjs/components/Radio/Radio.styles.d.ts +1 -1
- package/cjs/components/Radio/Radio.styles.js +5 -10
- package/cjs/components/Radio/Radio.styles.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -0
- package/cjs/components/ScrollContainer/ScrollBar.js +244 -0
- package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js +33 -0
- package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.d.ts +38 -23
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +62 -0
- package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -0
- package/cjs/components/ScrollContainer/ScrollContainer.js +81 -153
- package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
- package/cjs/components/ScrollContainer/ScrollContainer.md +62 -13
- package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +12 -3
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js +72 -9
- package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePage.d.ts +1 -2
- package/cjs/components/SidePage/SidePage.js +1 -5
- package/cjs/components/SidePage/SidePage.js.map +1 -1
- package/cjs/components/SidePage/SidePage.styles.d.ts +2 -1
- package/cjs/components/SidePage/SidePage.styles.js +44 -28
- package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
- package/cjs/components/SidePage/SidePageHeader.d.ts +4 -1
- package/cjs/components/SidePage/SidePageHeader.js +33 -23
- package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
- package/cjs/components/Switcher/Switcher.js +1 -1
- package/cjs/components/Switcher/Switcher.js.map +1 -1
- package/cjs/components/Switcher/Switcher.styles.d.ts +1 -1
- package/cjs/components/Switcher/Switcher.styles.js +3 -2
- package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
- package/cjs/components/Tabs/Tab.d.ts +0 -3
- package/cjs/components/Tabs/Tab.js +3 -13
- package/cjs/components/Tabs/Tab.js.map +1 -1
- package/cjs/components/Tabs/Tab.styles.js +2 -2
- package/cjs/components/Tabs/Tab.styles.js.map +1 -1
- package/cjs/components/Toggle/Toggle.js +6 -5
- package/cjs/components/Toggle/Toggle.js.map +1 -1
- package/cjs/components/Toggle/Toggle.styles.d.ts +1 -0
- package/cjs/components/Toggle/Toggle.styles.js +26 -16
- package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
- package/cjs/components/Token/Token.styles.js +8 -9
- package/cjs/components/Token/Token.styles.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +8 -0
- package/cjs/components/TokenInput/TokenInput.js +24 -2
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.styles.js +2 -1
- package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +3 -2
- package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +5 -7
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/InputLikeText/InputLikeText.js +2 -1
- package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
- package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
- package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
- package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
- package/cjs/internal/ThemePlayground/darkTheme.js +3 -3
- package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/icons/CrossIcon.js +8 -1
- package/cjs/internal/icons/CrossIcon.js.map +1 -1
- package/cjs/internal/themes/DefaultTheme.d.ts +23 -7
- package/cjs/internal/themes/DefaultTheme.js +77 -32
- package/cjs/internal/themes/DefaultTheme.js.map +1 -1
- package/cjs/internal/themes/FlatTheme.d.ts +4 -4
- package/cjs/internal/themes/FlatTheme.js +16 -8
- package/cjs/internal/themes/FlatTheme.js.map +1 -1
- package/cjs/internal/themes/Theme8px.d.ts +0 -5
- package/cjs/internal/themes/Theme8px.js +2 -12
- package/cjs/internal/themes/Theme8px.js.map +1 -1
- package/cjs/lib/Upgrades.d.ts +2 -0
- package/cjs/lib/Upgrades.js +14 -0
- package/cjs/lib/Upgrades.js.map +1 -1
- package/cjs/lib/events/keyListener.d.ts +7 -0
- package/cjs/lib/events/keyListener.js +22 -0
- package/cjs/lib/events/keyListener.js.map +1 -0
- package/cjs/lib/events/keyboard/identifiers.d.ts +1 -0
- package/cjs/lib/events/keyboard/identifiers.js +6 -1
- package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
- package/cjs/lib/events/tabListener.d.ts +1 -6
- package/cjs/lib/events/tabListener.js +2 -15
- package/cjs/lib/events/tabListener.js.map +1 -1
- package/cjs/lib/locale/LOCALECONTEXT.md +1 -1
- package/cjs/lib/styles/ColorFunctions.js +1 -1
- package/cjs/lib/styles/ColorFunctions.js.map +1 -1
- package/cjs/lib/theming/Emotion.js +1 -1
- package/cjs/lib/theming/Emotion.js.map +1 -1
- package/cjs/lib/theming/ThemeContext.md +1 -1
- package/cjs/lib/utils.d.ts +7 -0
- package/cjs/lib/utils.js +12 -2
- package/cjs/lib/utils.js.map +1 -1
- package/components/Button/Button/Button.js +5 -4
- package/components/Button/Button/Button.js.map +1 -1
- package/components/Button/Button.d.ts +1 -0
- package/components/Button/Button.styles/Button.styles.js +1 -1
- package/components/Button/Button.styles/Button.styles.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +5 -5
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -2
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +11 -5
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.styles/CurrencyLabel.styles.js +10 -0
- package/components/CurrencyLabel/CurrencyLabel.styles/CurrencyLabel.styles.js.map +1 -0
- package/components/CurrencyLabel/CurrencyLabel.styles/package.json +6 -0
- package/components/CurrencyLabel/CurrencyLabel.styles.d.ts +4 -0
- package/components/FxInput/FxInput/FxInput.js +2 -1
- package/components/FxInput/FxInput/FxInput.js.map +1 -1
- package/components/Input/Input.styles/Input.styles.js +1 -1
- package/components/Input/Input.styles/Input.styles.js.map +1 -1
- package/components/Kebab/Kebab/Kebab.js +2 -2
- package/components/Kebab/Kebab/Kebab.js.map +1 -1
- package/components/Link/Link/Link.js +2 -2
- package/components/Link/Link/Link.js.map +1 -1
- package/components/Loader/Loader/Loader.js +34 -14
- package/components/Loader/Loader/Loader.js.map +1 -1
- package/components/Loader/Loader.d.ts +3 -1
- package/components/MenuItem/MenuItem.md +1 -1
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
- package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
- package/components/Modal/Modal.styles/Modal.styles.js +18 -15
- package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
- package/components/Modal/Modal.styles.d.ts +1 -0
- package/components/Modal/ModalClose/ModalClose.js +25 -2
- package/components/Modal/ModalClose/ModalClose.js.map +1 -1
- package/components/Paging/Paging/Paging.js +2 -2
- package/components/Paging/Paging/Paging.js.map +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js +1 -1
- package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
- package/components/Radio/Radio/Radio.js +36 -3
- package/components/Radio/Radio/Radio.js.map +1 -1
- package/components/Radio/Radio.d.ts +9 -1
- package/components/Radio/Radio.styles/Radio.styles.js +3 -3
- package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
- package/components/Radio/Radio.styles.d.ts +1 -1
- package/components/ScrollContainer/ScrollBar/ScrollBar.js +254 -0
- package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -0
- package/components/ScrollContainer/ScrollBar/package.json +6 -0
- package/components/ScrollContainer/ScrollBar.d.ts +37 -0
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +121 -205
- package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +31 -0
- package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -0
- package/components/ScrollContainer/ScrollContainer.constants/package.json +6 -0
- package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
- package/components/ScrollContainer/ScrollContainer.d.ts +38 -23
- package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +55 -0
- package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -0
- package/components/ScrollContainer/ScrollContainer.helpers/package.json +6 -0
- package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
- package/components/ScrollContainer/ScrollContainer.md +62 -13
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +23 -9
- package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
- package/components/ScrollContainer/ScrollContainer.styles.d.ts +12 -3
- package/components/SidePage/SidePage/SidePage.js +2 -4
- package/components/SidePage/SidePage/SidePage.js.map +1 -1
- package/components/SidePage/SidePage.d.ts +1 -2
- package/components/SidePage/SidePage.styles/SidePage.styles.js +20 -16
- package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
- package/components/SidePage/SidePage.styles.d.ts +2 -1
- package/components/SidePage/SidePageHeader/SidePageHeader.js +40 -22
- package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
- package/components/SidePage/SidePageHeader.d.ts +4 -1
- package/components/Switcher/Switcher/Switcher.js +1 -1
- package/components/Switcher/Switcher/Switcher.js.map +1 -1
- package/components/Switcher/Switcher.styles/Switcher.styles.js +2 -2
- package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
- package/components/Switcher/Switcher.styles.d.ts +1 -1
- package/components/Tabs/Tab/Tab.js +2 -16
- package/components/Tabs/Tab/Tab.js.map +1 -1
- package/components/Tabs/Tab.d.ts +0 -3
- package/components/Tabs/Tab.styles/Tab.styles.js +1 -1
- package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
- package/components/Toggle/Toggle/Toggle.js +5 -5
- package/components/Toggle/Toggle/Toggle.js.map +1 -1
- package/components/Toggle/Toggle.styles/Toggle.styles.js +15 -12
- package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
- package/components/Toggle/Toggle.styles.d.ts +1 -0
- package/components/Token/Token.styles/Token.styles.js +2 -2
- package/components/Token/Token.styles/Token.styles.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +24 -2
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +8 -0
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +1 -1
- package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -1
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +3 -2
- package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +4 -4
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js +2 -1
- package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
- package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -2
- package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js +2 -1
- package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
- package/internal/ThemePlayground/darkTheme/darkTheme.js +3 -3
- package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/icons/CrossIcon/CrossIcon.js +2 -1
- package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
- package/internal/themes/DefaultTheme/DefaultTheme.js +100 -19
- package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
- package/internal/themes/DefaultTheme.d.ts +23 -7
- package/internal/themes/FlatTheme/FlatTheme.js +18 -6
- package/internal/themes/FlatTheme/FlatTheme.js.map +1 -1
- package/internal/themes/FlatTheme.d.ts +4 -4
- package/internal/themes/Theme8px/Theme8px.js +1 -14
- package/internal/themes/Theme8px/Theme8px.js.map +1 -1
- package/internal/themes/Theme8px.d.ts +0 -5
- package/lib/Upgrades/Upgrades.js +13 -0
- package/lib/Upgrades/Upgrades.js.map +1 -1
- package/lib/Upgrades.d.ts +2 -0
- package/lib/events/keyListener/keyListener.js +22 -0
- package/lib/events/keyListener/keyListener.js.map +1 -0
- package/lib/events/keyListener/package.json +6 -0
- package/lib/events/keyListener.d.ts +7 -0
- package/lib/events/keyboard/identifiers/identifiers.js +10 -1
- package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
- package/lib/events/keyboard/identifiers.d.ts +1 -0
- package/lib/events/tabListener/tabListener.js +2 -19
- package/lib/events/tabListener/tabListener.js.map +1 -1
- package/lib/events/tabListener.d.ts +1 -6
- package/lib/locale/LOCALECONTEXT.md +1 -1
- package/lib/styles/ColorFunctions/ColorFunctions.js +1 -1
- package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
- package/lib/theming/Emotion/Emotion.js +1 -1
- package/lib/theming/Emotion/Emotion.js.map +1 -1
- package/lib/theming/ThemeContext.md +1 -1
- package/lib/utils/utils.js +10 -0
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils.d.ts +7 -0
- package/package.json +2 -2
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.scrollSizeParametersNames = exports.defaultScrollbarState = exports.MIN_SCROLL_SIZE = void 0;
|
|
2
|
+
|
|
3
|
+
var MIN_SCROLL_SIZE = 20;exports.MIN_SCROLL_SIZE = MIN_SCROLL_SIZE;
|
|
4
|
+
|
|
5
|
+
var defaultScrollbarState = {
|
|
6
|
+
size: 0,
|
|
7
|
+
pos: 0,
|
|
8
|
+
// Mouse is moving where big scrollbar can be located.
|
|
9
|
+
hover: false,
|
|
10
|
+
active: false,
|
|
11
|
+
// True when scroll is following mouse (mouse down on scroll).
|
|
12
|
+
scrolling: false,
|
|
13
|
+
scrollState: 'begin' };exports.defaultScrollbarState = defaultScrollbarState;
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
var scrollSizeParametersNames = {
|
|
17
|
+
x: {
|
|
18
|
+
offset: 'offsetWidth',
|
|
19
|
+
size: 'scrollWidth',
|
|
20
|
+
pos: 'scrollLeft',
|
|
21
|
+
coord: 'clientX',
|
|
22
|
+
clientSize: 'clientWidth',
|
|
23
|
+
customScrollPos: 'left',
|
|
24
|
+
customScrollSize: 'width' },
|
|
25
|
+
|
|
26
|
+
y: {
|
|
27
|
+
offset: 'offsetHeight',
|
|
28
|
+
size: 'scrollHeight',
|
|
29
|
+
pos: 'scrollTop',
|
|
30
|
+
coord: 'clientY',
|
|
31
|
+
clientSize: 'clientHeight',
|
|
32
|
+
customScrollPos: 'top',
|
|
33
|
+
customScrollSize: 'height' } };exports.scrollSizeParametersNames = scrollSizeParametersNames;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ScrollContainer.constants.ts"],"names":["MIN_SCROLL_SIZE","defaultScrollbarState","size","pos","hover","active","scrolling","scrollState","scrollSizeParametersNames","x","offset","coord","clientSize","customScrollPos","customScrollSize","y"],"mappings":";;AAEO,IAAMA,eAAe,GAAG,EAAxB,C;;AAEA,IAAMC,qBAAqC,GAAG;AACnDC,EAAAA,IAAI,EAAE,CAD6C;AAEnDC,EAAAA,GAAG,EAAE,CAF8C;AAGnD;AACAC,EAAAA,KAAK,EAAE,KAJ4C;AAKnDC,EAAAA,MAAM,EAAE,KAL2C;AAMnD;AACAC,EAAAA,SAAS,EAAE,KAPwC;AAQnDC,EAAAA,WAAW,EAAE,OARsC,EAA9C,C;;;AAWA,IAAMC,yBAAyB,GAAG;AACvCC,EAAAA,CAAC,EAAE;AACDC,IAAAA,MAAM,EAAE,aADP;AAEDR,IAAAA,IAAI,EAAE,aAFL;AAGDC,IAAAA,GAAG,EAAE,YAHJ;AAIDQ,IAAAA,KAAK,EAAE,SAJN;AAKDC,IAAAA,UAAU,EAAE,aALX;AAMDC,IAAAA,eAAe,EAAE,MANhB;AAODC,IAAAA,gBAAgB,EAAE,OAPjB,EADoC;;AAUvCC,EAAAA,CAAC,EAAE;AACDL,IAAAA,MAAM,EAAE,cADP;AAEDR,IAAAA,IAAI,EAAE,cAFL;AAGDC,IAAAA,GAAG,EAAE,WAHJ;AAIDQ,IAAAA,KAAK,EAAE,SAJN;AAKDC,IAAAA,UAAU,EAAE,cALX;AAMDC,IAAAA,eAAe,EAAE,KANhB;AAODC,IAAAA,gBAAgB,EAAE,QAPjB,EAVoC,EAAlC,C","sourcesContent":["import { ScrollBarState } from './ScrollBar';\n\nexport const MIN_SCROLL_SIZE = 20;\n\nexport const defaultScrollbarState: ScrollBarState = {\n size: 0,\n pos: 0,\n // Mouse is moving where big scrollbar can be located.\n hover: false,\n active: false,\n // True when scroll is following mouse (mouse down on scroll).\n scrolling: false,\n scrollState: 'begin',\n};\n\nexport const scrollSizeParametersNames = {\n x: {\n offset: 'offsetWidth',\n size: 'scrollWidth',\n pos: 'scrollLeft',\n coord: 'clientX',\n clientSize: 'clientWidth',\n customScrollPos: 'left',\n customScrollSize: 'width',\n },\n y: {\n offset: 'offsetHeight',\n size: 'scrollHeight',\n pos: 'scrollTop',\n coord: 'clientY',\n clientSize: 'clientHeight',\n customScrollPos: 'top',\n customScrollSize: 'height',\n },\n} as const;\n"]}
|
|
@@ -1,51 +1,59 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { CommonProps } from '../../internal/CommonWrapper';
|
|
4
|
-
|
|
4
|
+
import { Nullable } from '../../typings/utility-types';
|
|
5
|
+
export declare type ScrollContainerScrollStateX = 'left' | 'scroll' | 'right';
|
|
6
|
+
export declare type ScrollContainerScrollStateY = 'top' | 'scroll' | 'bottom';
|
|
7
|
+
export declare type ScrollContainerScrollState = ScrollContainerScrollStateY;
|
|
5
8
|
export declare type ScrollBehaviour = 'auto' | 'smooth';
|
|
6
9
|
export interface ScrollContainerProps extends CommonProps {
|
|
7
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Инвертировать цвет скроллбара
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
invert: boolean;
|
|
8
15
|
maxHeight?: React.CSSProperties['maxHeight'];
|
|
9
|
-
|
|
16
|
+
maxWidth?: React.CSSProperties['maxWidth'];
|
|
17
|
+
/**
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
preventWindowScroll: boolean;
|
|
10
21
|
/**
|
|
11
22
|
* Поведение скролла (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior)
|
|
12
23
|
* @default 'auto'
|
|
13
24
|
*/
|
|
14
25
|
scrollBehaviour?: ScrollBehaviour;
|
|
15
|
-
|
|
26
|
+
onScrollStateChangeX?: (scrollState: ScrollContainerScrollStateX) => void;
|
|
27
|
+
onScrollStateChangeY?: (scrollState: ScrollContainerScrollStateY) => void;
|
|
28
|
+
onScrollStateChange?: (scrollYState: ScrollContainerScrollState) => void;
|
|
16
29
|
onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;
|
|
17
30
|
}
|
|
18
|
-
export
|
|
19
|
-
scrollActive: boolean;
|
|
20
|
-
hover: boolean;
|
|
21
|
-
scrolling: boolean;
|
|
22
|
-
scrollSize: number;
|
|
23
|
-
scrollPos: number;
|
|
24
|
-
scrollState: ScrollContainerScrollState;
|
|
25
|
-
}
|
|
26
|
-
export declare class ScrollContainer extends React.Component<ScrollContainerProps, ScrollContainerState> {
|
|
31
|
+
export declare class ScrollContainer extends React.Component<ScrollContainerProps> {
|
|
27
32
|
static __KONTUR_REACT_UI__: string;
|
|
28
33
|
static propTypes: {
|
|
29
34
|
invert: PropTypes.Requireable<boolean>;
|
|
35
|
+
maxWidth: PropTypes.Requireable<string | number>;
|
|
30
36
|
maxHeight: PropTypes.Requireable<string | number>;
|
|
31
37
|
scrollBehaviour: PropTypes.Requireable<string>;
|
|
32
38
|
preventWindowScroll: PropTypes.Requireable<boolean>;
|
|
33
39
|
onScrollStateChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
34
40
|
};
|
|
35
41
|
static defaultProps: {
|
|
42
|
+
invert: boolean;
|
|
36
43
|
scrollBehaviour: string;
|
|
44
|
+
preventWindowScroll: boolean;
|
|
37
45
|
};
|
|
38
|
-
|
|
46
|
+
private scrollX;
|
|
47
|
+
private scrollY;
|
|
39
48
|
private inner;
|
|
40
|
-
private scroll;
|
|
41
49
|
componentDidMount(): void;
|
|
42
50
|
componentDidUpdate(prevProps: ScrollContainerProps): void;
|
|
43
|
-
render()
|
|
51
|
+
render: () => JSX.Element;
|
|
44
52
|
/**
|
|
45
53
|
* @public
|
|
46
54
|
* @param {HTMLElement} element
|
|
47
55
|
*/
|
|
48
|
-
scrollTo(element: HTMLElement): void;
|
|
56
|
+
scrollTo(element: Nullable<HTMLElement>): void;
|
|
49
57
|
/**
|
|
50
58
|
* @public
|
|
51
59
|
*/
|
|
@@ -54,15 +62,22 @@ export declare class ScrollContainer extends React.Component<ScrollContainerProp
|
|
|
54
62
|
* @public
|
|
55
63
|
*/
|
|
56
64
|
scrollToBottom(): void;
|
|
65
|
+
/**
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
scrollToLeft(): void;
|
|
69
|
+
/**
|
|
70
|
+
* @public
|
|
71
|
+
*/
|
|
72
|
+
scrollToRight(): void;
|
|
73
|
+
private hasScrollBar;
|
|
74
|
+
private renderScrollbar;
|
|
75
|
+
private handleScrollStateChange;
|
|
76
|
+
private refScrollBarY;
|
|
77
|
+
private refScrollBarX;
|
|
57
78
|
private refInner;
|
|
58
|
-
private refScroll;
|
|
59
79
|
private handleNativeScroll;
|
|
60
|
-
private reflow;
|
|
61
|
-
private handleScrollMouseDown;
|
|
62
|
-
private handleScrollWheel;
|
|
63
80
|
private handleInnerScrollWheel;
|
|
64
81
|
private handleMouseMove;
|
|
65
82
|
private handleMouseLeave;
|
|
66
|
-
private setHover;
|
|
67
|
-
private getImmediateScrollState;
|
|
68
83
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ScrollBarScrollState } from './ScrollBar';
|
|
2
|
+
import { ScrollContainerScrollStateX, ScrollContainerScrollStateY } from './ScrollContainer';
|
|
3
|
+
export declare const getScrollSizeParams: (inner: HTMLElement, axis: 'x' | 'y') => {
|
|
4
|
+
scrollActive: boolean;
|
|
5
|
+
scrollSize: number;
|
|
6
|
+
scrollPos: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const getScrollYOffset: (element: HTMLElement, container: HTMLElement) => number;
|
|
9
|
+
export declare const convertScrollbarXScrollState: (state: ScrollBarScrollState) => ScrollContainerScrollStateX;
|
|
10
|
+
export declare const convertScrollbarYScrollState: (state: ScrollBarScrollState) => ScrollContainerScrollStateY;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.convertScrollbarYScrollState = exports.convertScrollbarXScrollState = exports.getScrollYOffset = exports.getScrollSizeParams = void 0;var _ScrollContainer = require("./ScrollContainer.constants");
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var getScrollSizeParams = function getScrollSizeParams(inner, axis) {var _scrollSizeParameters =
|
|
6
|
+
_ScrollContainer.scrollSizeParametersNames[axis],offset = _scrollSizeParameters.offset,size = _scrollSizeParameters.size,pos = _scrollSizeParameters.pos;
|
|
7
|
+
|
|
8
|
+
var contentSize = inner[size];
|
|
9
|
+
var scrollOffset = inner[pos];
|
|
10
|
+
var containerSize = inner[offset];
|
|
11
|
+
|
|
12
|
+
var scrollActive = containerSize < contentSize;
|
|
13
|
+
|
|
14
|
+
var scrollSize = 0;
|
|
15
|
+
var scrollPos = 0;
|
|
16
|
+
|
|
17
|
+
if (scrollActive) {
|
|
18
|
+
scrollSize = Math.max(containerSize / contentSize * containerSize, _ScrollContainer.MIN_SCROLL_SIZE);
|
|
19
|
+
scrollPos = scrollOffset / (contentSize - containerSize) * (containerSize - scrollSize);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
scrollActive: scrollActive,
|
|
24
|
+
scrollSize: scrollSize,
|
|
25
|
+
scrollPos: scrollPos };
|
|
26
|
+
|
|
27
|
+
};exports.getScrollSizeParams = getScrollSizeParams;
|
|
28
|
+
|
|
29
|
+
var getScrollYOffset = function getScrollYOffset(element, container) {
|
|
30
|
+
var elementOffset = element.offsetTop;
|
|
31
|
+
|
|
32
|
+
if (container.scrollTop > elementOffset) {
|
|
33
|
+
return elementOffset;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
var offset = elementOffset + element.scrollHeight - container.offsetHeight;
|
|
37
|
+
if (container.scrollTop < offset) {
|
|
38
|
+
return offset;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return container.scrollTop;
|
|
42
|
+
};exports.getScrollYOffset = getScrollYOffset;
|
|
43
|
+
|
|
44
|
+
var convertScrollbarXScrollState = function convertScrollbarXScrollState(state) {
|
|
45
|
+
var scrollBarState = {
|
|
46
|
+
begin: 'left',
|
|
47
|
+
end: 'right',
|
|
48
|
+
middle: 'scroll' };
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
return scrollBarState[state];
|
|
52
|
+
};exports.convertScrollbarXScrollState = convertScrollbarXScrollState;
|
|
53
|
+
|
|
54
|
+
var convertScrollbarYScrollState = function convertScrollbarYScrollState(state) {
|
|
55
|
+
var scrollBarState = {
|
|
56
|
+
begin: 'top',
|
|
57
|
+
end: 'bottom',
|
|
58
|
+
middle: 'scroll' };
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
return scrollBarState[state];
|
|
62
|
+
};exports.convertScrollbarYScrollState = convertScrollbarYScrollState;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ScrollContainer.helpers.ts"],"names":["getScrollSizeParams","inner","axis","scrollSizeParametersNames","offset","size","pos","contentSize","scrollOffset","containerSize","scrollActive","scrollSize","scrollPos","Math","max","MIN_SCROLL_SIZE","getScrollYOffset","element","container","elementOffset","offsetTop","scrollTop","scrollHeight","offsetHeight","convertScrollbarXScrollState","state","scrollBarState","begin","end","middle","convertScrollbarYScrollState"],"mappings":"qLAAA;;;;AAIO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,KAAD,EAAqBC,IAArB,EAAyC;AAC5CC,6CAA0BD,IAA1B,CAD4C,CAClEE,MADkE,yBAClEA,MADkE,CAC1DC,IAD0D,yBAC1DA,IAD0D,CACpDC,GADoD,yBACpDA,GADoD;;AAG1E,MAAMC,WAAW,GAAGN,KAAK,CAACI,IAAD,CAAzB;AACA,MAAMG,YAAY,GAAGP,KAAK,CAACK,GAAD,CAA1B;AACA,MAAMG,aAAa,GAAGR,KAAK,CAACG,MAAD,CAA3B;;AAEA,MAAMM,YAAY,GAAGD,aAAa,GAAGF,WAArC;;AAEA,MAAII,UAAU,GAAG,CAAjB;AACA,MAAIC,SAAS,GAAG,CAAhB;;AAEA,MAAIF,YAAJ,EAAkB;AAChBC,IAAAA,UAAU,GAAGE,IAAI,CAACC,GAAL,CAAUL,aAAa,GAAGF,WAAjB,GAAgCE,aAAzC,EAAwDM,gCAAxD,CAAb;AACAH,IAAAA,SAAS,GAAIJ,YAAY,IAAID,WAAW,GAAGE,aAAlB,CAAb,IAAkDA,aAAa,GAAGE,UAAlE,CAAZ;AACD;;AAED,SAAO;AACLD,IAAAA,YAAY,EAAZA,YADK;AAELC,IAAAA,UAAU,EAAVA,UAFK;AAGLC,IAAAA,SAAS,EAATA,SAHK,EAAP;;AAKD,CAtBM,C;;AAwBA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,OAAD,EAAuBC,SAAvB,EAAkD;AAChF,MAAMC,aAAa,GAAGF,OAAO,CAACG,SAA9B;;AAEA,MAAIF,SAAS,CAACG,SAAV,GAAsBF,aAA1B,EAAyC;AACvC,WAAOA,aAAP;AACD;;AAED,MAAMf,MAAM,GAAGe,aAAa,GAAGF,OAAO,CAACK,YAAxB,GAAuCJ,SAAS,CAACK,YAAhE;AACA,MAAIL,SAAS,CAACG,SAAV,GAAsBjB,MAA1B,EAAkC;AAChC,WAAOA,MAAP;AACD;;AAED,SAAOc,SAAS,CAACG,SAAjB;AACD,CAbM,C;;AAeA,IAAMG,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,KAAD,EAA8D;AACxG,MAAMC,cAAyE,GAAG;AAChFC,IAAAA,KAAK,EAAE,MADyE;AAEhFC,IAAAA,GAAG,EAAE,OAF2E;AAGhFC,IAAAA,MAAM,EAAE,QAHwE,EAAlF;;;AAMA,SAAOH,cAAc,CAACD,KAAD,CAArB;AACD,CARM,C;;AAUA,IAAMK,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACL,KAAD,EAA8D;AACxG,MAAMC,cAAyE,GAAG;AAChFC,IAAAA,KAAK,EAAE,KADyE;AAEhFC,IAAAA,GAAG,EAAE,QAF2E;AAGhFC,IAAAA,MAAM,EAAE,QAHwE,EAAlF;;;AAMA,SAAOH,cAAc,CAACD,KAAD,CAArB;AACD,CARM,C","sourcesContent":["import { MIN_SCROLL_SIZE, scrollSizeParametersNames } from './ScrollContainer.constants';\nimport { ScrollBarScrollState } from './ScrollBar';\nimport { ScrollContainerScrollStateX, ScrollContainerScrollStateY } from './ScrollContainer';\n\nexport const getScrollSizeParams = (inner: HTMLElement, axis: 'x' | 'y') => {\n const { offset, size, pos } = scrollSizeParametersNames[axis];\n\n const contentSize = inner[size];\n const scrollOffset = inner[pos];\n const containerSize = inner[offset];\n\n const scrollActive = containerSize < contentSize;\n\n let scrollSize = 0;\n let scrollPos = 0;\n\n if (scrollActive) {\n scrollSize = Math.max((containerSize / contentSize) * containerSize, MIN_SCROLL_SIZE);\n scrollPos = (scrollOffset / (contentSize - containerSize)) * (containerSize - scrollSize);\n }\n\n return {\n scrollActive,\n scrollSize,\n scrollPos,\n };\n};\n\nexport const getScrollYOffset = (element: HTMLElement, container: HTMLElement) => {\n const elementOffset = element.offsetTop;\n\n if (container.scrollTop > elementOffset) {\n return elementOffset;\n }\n\n const offset = elementOffset + element.scrollHeight - container.offsetHeight;\n if (container.scrollTop < offset) {\n return offset;\n }\n\n return container.scrollTop;\n};\n\nexport const convertScrollbarXScrollState = (state: ScrollBarScrollState): ScrollContainerScrollStateX => {\n const scrollBarState: Record<ScrollBarScrollState, ScrollContainerScrollStateX> = {\n begin: 'left',\n end: 'right',\n middle: 'scroll',\n };\n\n return scrollBarState[state];\n};\n\nexport const convertScrollbarYScrollState = (state: ScrollBarScrollState): ScrollContainerScrollStateY => {\n const scrollBarState: Record<ScrollBarScrollState, ScrollContainerScrollStateY> = {\n begin: 'top',\n end: 'bottom',\n middle: 'scroll',\n };\n\n return scrollBarState[state];\n};\n"]}
|
|
@@ -2,19 +2,18 @@
|
|
|
2
2
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
3
3
|
|
|
4
4
|
var LayoutEvents = _interopRequireWildcard(require("../../lib/LayoutEvents"));
|
|
5
|
-
var _getScrollWidth = require("../../lib/dom/getScrollWidth");
|
|
6
|
-
|
|
7
5
|
var _CommonWrapper = require("../../internal/CommonWrapper");
|
|
6
|
+
|
|
8
7
|
var _Emotion = require("../../lib/theming/Emotion");
|
|
9
8
|
|
|
10
9
|
var _ScrollContainer = require("./ScrollContainer.styles");
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
var MIN_SCROLL_SIZE = 20;var
|
|
10
|
+
var _ScrollContainer2 = require("./ScrollContainer.constants");
|
|
11
|
+
var _ScrollContainer3 = require("./ScrollContainer.helpers");
|
|
14
12
|
|
|
15
13
|
|
|
16
14
|
|
|
17
15
|
|
|
16
|
+
var _ScrollBar = require("./ScrollBar");var
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
|
|
@@ -37,8 +36,6 @@ var MIN_SCROLL_SIZE = 20;var
|
|
|
37
36
|
|
|
38
37
|
|
|
39
38
|
|
|
40
|
-
|
|
41
|
-
ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ScrollContainer, _React$Component);function ScrollContainer() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
|
|
42
39
|
|
|
43
40
|
|
|
44
41
|
|
|
@@ -46,6 +43,7 @@ ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
|
|
|
46
43
|
|
|
47
44
|
|
|
48
45
|
|
|
46
|
+
ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ScrollContainer, _React$Component);function ScrollContainer() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
|
|
49
47
|
|
|
50
48
|
|
|
51
49
|
|
|
@@ -53,20 +51,9 @@ ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
|
|
|
53
51
|
|
|
54
52
|
|
|
55
53
|
|
|
56
|
-
state = {
|
|
57
|
-
scrollActive: false,
|
|
58
|
-
scrollSize: 0,
|
|
59
|
-
scrollPos: 0,
|
|
60
54
|
|
|
61
|
-
// Mouse is moving where big scrollbar can be located.
|
|
62
|
-
hover: false,
|
|
63
|
-
// True when scroll is following mouse (mouse down on scroll).
|
|
64
|
-
scrolling: false,
|
|
65
|
-
scrollState: 'top' };_this.
|
|
66
55
|
|
|
67
56
|
|
|
68
|
-
inner = void 0;_this.
|
|
69
|
-
scroll = void 0;_this.
|
|
70
57
|
|
|
71
58
|
|
|
72
59
|
|
|
@@ -74,6 +61,9 @@ ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
|
|
|
74
61
|
|
|
75
62
|
|
|
76
63
|
|
|
64
|
+
scrollX = void 0;_this.
|
|
65
|
+
scrollY = void 0;_this.
|
|
66
|
+
inner = void 0;_this.
|
|
77
67
|
|
|
78
68
|
|
|
79
69
|
|
|
@@ -91,15 +81,36 @@ ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
|
|
|
91
81
|
|
|
92
82
|
|
|
93
83
|
|
|
84
|
+
render = function () {
|
|
85
|
+
var props = _this.props;
|
|
94
86
|
|
|
87
|
+
var innerStyle = {
|
|
88
|
+
scrollBehavior: props.scrollBehaviour,
|
|
89
|
+
maxHeight: props.maxHeight,
|
|
90
|
+
maxWidth: props.maxWidth };
|
|
95
91
|
|
|
96
92
|
|
|
93
|
+
var scrollbarY = _this.renderScrollbar('y');
|
|
94
|
+
var scrollbarX = _this.renderScrollbar('x');
|
|
97
95
|
|
|
96
|
+
return /*#__PURE__*/(
|
|
97
|
+
_react.default.createElement(_CommonWrapper.CommonWrapper, _this.props, /*#__PURE__*/
|
|
98
|
+
_react.default.createElement("div", { className: _ScrollContainer.styles.root(), onMouseMove: _this.handleMouseMove, onMouseLeave: _this.handleMouseLeave },
|
|
99
|
+
scrollbarY,
|
|
100
|
+
scrollbarX, /*#__PURE__*/
|
|
101
|
+
_react.default.createElement("div", {
|
|
102
|
+
style: innerStyle,
|
|
103
|
+
ref: _this.refInner,
|
|
104
|
+
className: (0, _Emotion.cx)(_ScrollContainer.styles.inner(), _ScrollContainer.globalClasses.inner),
|
|
105
|
+
"data-tid": "ScrollContainer__inner",
|
|
106
|
+
onScroll: _this.handleNativeScroll },
|
|
98
107
|
|
|
108
|
+
props.children))));
|
|
99
109
|
|
|
100
110
|
|
|
101
111
|
|
|
102
112
|
|
|
113
|
+
};_this.
|
|
103
114
|
|
|
104
115
|
|
|
105
116
|
|
|
@@ -165,16 +176,44 @@ ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
|
|
|
165
176
|
|
|
166
177
|
|
|
167
178
|
|
|
179
|
+
renderScrollbar = function (axis) {
|
|
180
|
+
var refScrollBar = axis === 'x' ? _this.refScrollBarX : _this.refScrollBarY;
|
|
168
181
|
|
|
182
|
+
return /*#__PURE__*/(
|
|
183
|
+
_react.default.createElement(_ScrollBar.ScrollBar, {
|
|
184
|
+
axis: axis,
|
|
185
|
+
ref: refScrollBar,
|
|
186
|
+
invert: _this.props.invert,
|
|
187
|
+
onScrollStateChange: _this.handleScrollStateChange }));
|
|
169
188
|
|
|
170
189
|
|
|
190
|
+
};_this.
|
|
171
191
|
|
|
192
|
+
handleScrollStateChange = function (scrollState, axis) {
|
|
193
|
+
if (!_this.scrollY || !_this.scrollX) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
172
196
|
|
|
197
|
+
if (axis === 'x') {
|
|
198
|
+
var scrollXState = (0, _ScrollContainer3.convertScrollbarXScrollState)(scrollState);
|
|
173
199
|
|
|
200
|
+
_this.props.onScrollStateChangeX == null ? void 0 : _this.props.onScrollStateChangeX(scrollXState);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
174
203
|
|
|
204
|
+
var scrollYState = (0, _ScrollContainer3.convertScrollbarYScrollState)(scrollState);
|
|
175
205
|
|
|
206
|
+
_this.props.onScrollStateChange == null ? void 0 : _this.props.onScrollStateChange(scrollYState);
|
|
207
|
+
_this.props.onScrollStateChangeY == null ? void 0 : _this.props.onScrollStateChangeY(scrollYState);
|
|
208
|
+
};_this.
|
|
176
209
|
|
|
210
|
+
refScrollBarY = function (scrollbar) {
|
|
211
|
+
_this.scrollY = scrollbar;
|
|
212
|
+
};_this.
|
|
177
213
|
|
|
214
|
+
refScrollBarX = function (scrollbar) {
|
|
215
|
+
_this.scrollX = scrollbar;
|
|
216
|
+
};_this.
|
|
178
217
|
|
|
179
218
|
refInner = function (element) {
|
|
180
219
|
if (!_this.inner && element && _this.props.preventWindowScroll) {
|
|
@@ -186,18 +225,10 @@ ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
|
|
|
186
225
|
_this.inner = element;
|
|
187
226
|
};_this.
|
|
188
227
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
if (_this.scroll && !element) {
|
|
194
|
-
_this.scroll.removeEventListener('wheel', _this.handleScrollWheel);
|
|
195
|
-
}
|
|
196
|
-
_this.scroll = element;
|
|
197
|
-
};_this.
|
|
228
|
+
handleNativeScroll = function (event) {var _this$scrollX, _this$scrollY;
|
|
229
|
+
(_this$scrollX = _this.scrollX) == null ? void 0 : _this$scrollX.reflow();
|
|
230
|
+
(_this$scrollY = _this.scrollY) == null ? void 0 : _this$scrollY.reflow();
|
|
198
231
|
|
|
199
|
-
handleNativeScroll = function (event) {
|
|
200
|
-
_this.reflow();
|
|
201
232
|
_this.props.onScroll == null ? void 0 : _this.props.onScroll(event);
|
|
202
233
|
if (_this.props.preventWindowScroll) {
|
|
203
234
|
event.preventDefault();
|
|
@@ -206,150 +237,47 @@ ScrollContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.
|
|
|
206
237
|
LayoutEvents.emit();
|
|
207
238
|
};_this.
|
|
208
239
|
|
|
209
|
-
|
|
210
|
-
if (!_this.inner) {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
var containerHeight = _this.inner.offsetHeight;
|
|
215
|
-
var contentHeight = _this.inner.scrollHeight;
|
|
216
|
-
var scrollTop = _this.inner.scrollTop;
|
|
217
|
-
|
|
218
|
-
var scrollActive = containerHeight < contentHeight;
|
|
219
|
-
|
|
220
|
-
if (!scrollActive && !_this.state.scrollActive) {
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
var scrollSize = 0;
|
|
225
|
-
var scrollPos = 0;
|
|
226
|
-
var scrollState = _this.state.scrollState;
|
|
227
|
-
|
|
228
|
-
if (scrollActive) {
|
|
229
|
-
scrollSize = Math.max(containerHeight / contentHeight * containerHeight, MIN_SCROLL_SIZE);
|
|
230
|
-
scrollPos = scrollTop / (contentHeight - containerHeight) * (containerHeight - scrollSize);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
if (
|
|
234
|
-
_this.state.scrollActive !== scrollActive ||
|
|
235
|
-
_this.state.scrollSize !== scrollSize ||
|
|
236
|
-
_this.state.scrollPos !== scrollPos)
|
|
237
|
-
{
|
|
238
|
-
scrollState = _this.getImmediateScrollState();
|
|
239
|
-
|
|
240
|
-
if (scrollState !== _this.state.scrollState) {
|
|
241
|
-
_this.props.onScrollStateChange == null ? void 0 : _this.props.onScrollStateChange(scrollState);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
_this.setState({
|
|
245
|
-
scrollActive: scrollActive,
|
|
246
|
-
scrollSize: scrollSize,
|
|
247
|
-
scrollPos: scrollPos,
|
|
248
|
-
scrollState: scrollState });
|
|
249
|
-
|
|
250
|
-
}
|
|
251
|
-
};_this.
|
|
252
|
-
|
|
253
|
-
handleScrollMouseDown = function (event) {
|
|
254
|
-
if (!_this.inner) {
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
var target = window.document;
|
|
259
|
-
var initialY = event.clientY;
|
|
260
|
-
var initialScrollTop = _this.inner.scrollTop;
|
|
261
|
-
|
|
262
|
-
var mouseMove = function mouseMove(mouseMoveEvent) {
|
|
263
|
-
if (!_this.inner) {
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
var ratio =
|
|
268
|
-
(_this.inner.scrollHeight - _this.inner.offsetHeight) / (_this.inner.offsetHeight - _this.state.scrollSize);
|
|
269
|
-
var deltaY = (mouseMoveEvent.clientY - initialY) * ratio;
|
|
270
|
-
|
|
271
|
-
_this.inner.scrollTop = initialScrollTop + deltaY;
|
|
272
|
-
|
|
273
|
-
if (mouseMoveEvent.preventDefault) {
|
|
274
|
-
mouseMoveEvent.preventDefault();
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
if (Object.prototype.hasOwnProperty.call(mouseMoveEvent, 'returnValue')) {
|
|
278
|
-
|
|
279
|
-
mouseMoveEvent.
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
returnValue = false;
|
|
283
|
-
}
|
|
284
|
-
};
|
|
285
|
-
|
|
286
|
-
var mouseUp = function mouseUp() {
|
|
287
|
-
target.removeEventListener('mousemove', mouseMove);
|
|
288
|
-
target.removeEventListener('mouseup', mouseUp);
|
|
289
|
-
_this.setState({ scrolling: false });
|
|
290
|
-
};
|
|
291
|
-
|
|
292
|
-
target.addEventListener('mousemove', mouseMove);
|
|
293
|
-
target.addEventListener('mouseup', mouseUp);
|
|
294
|
-
_this.setState({ scrolling: true });
|
|
295
|
-
|
|
296
|
-
event.preventDefault();
|
|
297
|
-
};_this.
|
|
298
|
-
|
|
299
|
-
handleScrollWheel = function (event) {
|
|
240
|
+
handleInnerScrollWheel = function (event) {
|
|
300
241
|
if (!_this.inner || !(event instanceof WheelEvent)) {
|
|
301
242
|
return;
|
|
302
243
|
}
|
|
303
244
|
|
|
304
|
-
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
if (event.deltaY < 0 && _this.inner.scrollTop <= 0) {
|
|
308
|
-
return;
|
|
309
|
-
}
|
|
245
|
+
var axis = event.shiftKey ? 'x' : 'y';
|
|
310
246
|
|
|
311
|
-
_this.
|
|
312
|
-
|
|
313
|
-
};_this.
|
|
247
|
+
if (_this.hasScrollBar(axis)) {var _scrollSizeParameters =
|
|
248
|
+
_ScrollContainer2.scrollSizeParametersNames[axis],pos = _scrollSizeParameters.pos,size = _scrollSizeParameters.size,offset = _scrollSizeParameters.offset;
|
|
314
249
|
|
|
315
|
-
|
|
316
|
-
if (!_this.inner || !(event instanceof WheelEvent)) {
|
|
317
|
-
return;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
if (_this.state.scrollActive) {
|
|
321
|
-
if (event.deltaY > 0 && _this.inner.scrollHeight <= _this.inner.scrollTop + _this.inner.offsetHeight) {
|
|
250
|
+
if (event.deltaY > 0 && _this.inner[size] <= _this.inner[pos] + _this.inner[offset]) {
|
|
322
251
|
event.preventDefault();
|
|
323
252
|
return false;
|
|
324
253
|
}
|
|
325
|
-
if (event.deltaY < 0 && _this.inner
|
|
254
|
+
if (event.deltaY < 0 && _this.inner[pos] <= 0) {
|
|
326
255
|
event.preventDefault();
|
|
327
256
|
return false;
|
|
328
257
|
}
|
|
329
258
|
}
|
|
330
259
|
};_this.
|
|
331
260
|
|
|
332
|
-
handleMouseMove = function (event) {
|
|
261
|
+
handleMouseMove = function (event) {var _this$scrollY2, _this$scrollX2;
|
|
333
262
|
var right = event.currentTarget.getBoundingClientRect().right - event.pageX;
|
|
334
|
-
|
|
263
|
+
var bottom = event.currentTarget.getBoundingClientRect().bottom - event.pageY;
|
|
264
|
+
|
|
265
|
+
(_this$scrollY2 = _this.scrollY) == null ? void 0 : _this$scrollY2.setHover(right <= 12);
|
|
266
|
+
(_this$scrollX2 = _this.scrollX) == null ? void 0 : _this$scrollX2.setHover(right >= 12 && bottom <= 12);
|
|
335
267
|
};_this.
|
|
336
268
|
|
|
337
|
-
handleMouseLeave = function () {
|
|
338
|
-
_this.setHover(false);
|
|
339
|
-
|
|
340
|
-
|
|
269
|
+
handleMouseLeave = function () {var _this$scrollY3, _this$scrollX3;
|
|
270
|
+
(_this$scrollY3 = _this.scrollY) == null ? void 0 : _this$scrollY3.setHover(false);
|
|
271
|
+
(_this$scrollX3 = _this.scrollX) == null ? void 0 : _this$scrollX3.setHover(false);
|
|
272
|
+
};return _this;}var _proto = ScrollContainer.prototype;_proto.componentDidMount = function componentDidMount() {var _this$scrollX4, _this$scrollY4;(_this$scrollX4 = this.scrollX) == null ? void 0 : _this$scrollX4.setInnerElement(this.inner);(_this$scrollY4 = this.scrollY) == null ? void 0 : _this$scrollY4.setInnerElement(this.inner);};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.inner) {if (prevProps.preventWindowScroll && !this.props.preventWindowScroll) {this.inner.removeEventListener('wheel', this.handleInnerScrollWheel);}if (!prevProps.preventWindowScroll && this.props.preventWindowScroll) {this.inner.addEventListener('wheel', this.handleInnerScrollWheel, { passive: false });}}}; /**
|
|
341
273
|
* @public
|
|
342
274
|
* @param {HTMLElement} element
|
|
343
|
-
|
|
275
|
+
*/_proto.scrollTo = function scrollTo(element) {if (!element || !this.inner) {return;}this.inner.scrollLeft = element.offsetLeft;this.inner.scrollTop = (0, _ScrollContainer3.getScrollYOffset)(element, this.inner);} /**
|
|
344
276
|
* @public
|
|
345
277
|
*/;_proto.scrollToTop = function scrollToTop() {if (!this.inner) {return;}this.inner.scrollTop = 0;} /**
|
|
346
278
|
* @public
|
|
347
|
-
*/;_proto.scrollToBottom = function scrollToBottom() {if (!this.inner) {return;}this.inner.scrollTop = this.inner.scrollHeight - this.inner.offsetHeight;}
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
} else {
|
|
353
|
-
return 'scroll';
|
|
354
|
-
}
|
|
355
|
-
};return ScrollContainer;}(_react.default.Component);exports.ScrollContainer = ScrollContainer;ScrollContainer.__KONTUR_REACT_UI__ = 'ScrollContainer';ScrollContainer.propTypes = { invert: _propTypes.default.bool, maxHeight: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), scrollBehaviour: _propTypes.default.oneOf(['auto', 'smooth']), preventWindowScroll: _propTypes.default.bool, onScrollStateChange: _propTypes.default.func };ScrollContainer.defaultProps = { scrollBehaviour: 'auto' };
|
|
279
|
+
*/;_proto.scrollToBottom = function scrollToBottom() {if (!this.inner) {return;}this.inner.scrollTop = this.inner.scrollHeight - this.inner.offsetHeight;} /**
|
|
280
|
+
* @public
|
|
281
|
+
*/;_proto.scrollToLeft = function scrollToLeft() {if (!this.inner) {return;}this.inner.scrollLeft = 0;} /**
|
|
282
|
+
* @public
|
|
283
|
+
*/;_proto.scrollToRight = function scrollToRight() {if (!this.inner) {return;}this.inner.scrollLeft = this.inner.scrollWidth - this.inner.offsetWidth;};_proto.hasScrollBar = function hasScrollBar(axis) {if (!this.inner) {return false;}return axis === 'x' ? this.inner.offsetWidth < this.inner.scrollWidth : this.inner.offsetHeight < this.inner.scrollHeight;};return ScrollContainer;}(_react.default.Component);exports.ScrollContainer = ScrollContainer;ScrollContainer.__KONTUR_REACT_UI__ = 'ScrollContainer';ScrollContainer.propTypes = { invert: _propTypes.default.bool, maxWidth: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), maxHeight: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), scrollBehaviour: _propTypes.default.oneOf(['auto', 'smooth']), preventWindowScroll: _propTypes.default.bool, onScrollStateChange: _propTypes.default.func };ScrollContainer.defaultProps = { invert: false, scrollBehaviour: 'auto', preventWindowScroll: false };
|