intergalactic 15.71.0 → 15.72.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 +49 -0
- package/card/lib/cjs/Card.js +8 -8
- package/card/lib/es6/Card.js +8 -8
- package/checkbox/lib/cjs/Checkbox.js +18 -18
- package/checkbox/lib/es6/Checkbox.js +18 -18
- package/components.json +29 -29
- package/d3-chart/lib/cjs/Area.js +11 -11
- package/d3-chart/lib/cjs/Axis.js +14 -14
- package/d3-chart/lib/cjs/Bar.js +10 -10
- package/d3-chart/lib/cjs/Bubble.js +12 -12
- package/d3-chart/lib/cjs/Donut.js +9 -9
- package/d3-chart/lib/cjs/Dots.js +8 -8
- package/d3-chart/lib/cjs/HorizontalBar.js +10 -10
- package/d3-chart/lib/cjs/Hover.js +3 -3
- package/d3-chart/lib/cjs/Line.js +9 -9
- package/d3-chart/lib/cjs/Plot.js +3 -3
- package/d3-chart/lib/cjs/Radar.js +19 -19
- package/d3-chart/lib/cjs/RadialTree.js +11 -11
- package/d3-chart/lib/cjs/ReferenceLine.js +9 -9
- package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
- package/d3-chart/lib/cjs/Tooltip.js +9 -9
- package/d3-chart/lib/cjs/Venn.js +9 -9
- package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/d3-chart/lib/es6/Area.js +11 -11
- package/d3-chart/lib/es6/Axis.js +14 -14
- package/d3-chart/lib/es6/Bar.js +10 -10
- package/d3-chart/lib/es6/Bubble.js +12 -12
- package/d3-chart/lib/es6/Donut.js +9 -9
- package/d3-chart/lib/es6/Dots.js +8 -8
- package/d3-chart/lib/es6/HorizontalBar.js +10 -10
- package/d3-chart/lib/es6/Hover.js +3 -3
- package/d3-chart/lib/es6/Line.js +9 -9
- package/d3-chart/lib/es6/Plot.js +3 -3
- package/d3-chart/lib/es6/Radar.js +19 -19
- package/d3-chart/lib/es6/RadialTree.js +11 -11
- package/d3-chart/lib/es6/ReferenceLine.js +9 -9
- package/d3-chart/lib/es6/ScatterPlot.js +9 -9
- package/d3-chart/lib/es6/Tooltip.js +9 -9
- package/d3-chart/lib/es6/Venn.js +9 -9
- package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
- package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
- package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
- package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
- package/data-table/Head.d.ts +0 -1
- package/data-table/lib/cjs/Body.js +13 -24
- package/data-table/lib/cjs/Body.js.map +1 -1
- package/data-table/lib/cjs/DataTable.js +35 -41
- package/data-table/lib/cjs/DataTable.js.map +1 -1
- package/data-table/lib/cjs/Head.js +7 -21
- package/data-table/lib/cjs/Head.js.map +1 -1
- package/data-table/lib/cjs/style/data-table.shadow.css +0 -18
- package/data-table/lib/es6/Body.js +13 -25
- package/data-table/lib/es6/Body.js.map +1 -1
- package/data-table/lib/es6/DataTable.js +35 -41
- package/data-table/lib/es6/DataTable.js.map +1 -1
- package/data-table/lib/es6/Head.js +7 -22
- package/data-table/lib/es6/Head.js.map +1 -1
- package/data-table/lib/es6/style/data-table.shadow.css +0 -18
- package/data-table/lib/types/Head.d.ts +0 -1
- package/date-picker/lib/cjs/components/Calendar.js +21 -21
- package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +26 -26
- package/date-picker/lib/cjs/components/InputTrigger.js +26 -26
- package/date-picker/lib/cjs/components/PickerAbstract.js +26 -26
- package/date-picker/lib/cjs/components/RangePickerAbstract.js +26 -26
- package/date-picker/lib/es6/components/Calendar.js +21 -21
- package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +26 -26
- package/date-picker/lib/es6/components/InputTrigger.js +26 -26
- package/date-picker/lib/es6/components/PickerAbstract.js +26 -26
- package/date-picker/lib/es6/components/RangePickerAbstract.js +26 -26
- package/drag-and-drop/lib/cjs/DragAndDrop.js +12 -12
- package/drag-and-drop/lib/es6/DragAndDrop.js +12 -12
- package/dropdown/lib/cjs/Dropdown.js +2 -2
- package/dropdown/lib/es6/Dropdown.js +2 -2
- package/dropdown-menu/lib/cjs/DropdownMenu.js +16 -16
- package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
- package/dropdown-menu/lib/cjs/styleScrollArea.js +6 -6
- package/dropdown-menu/lib/es6/DropdownMenu.js +16 -16
- package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
- package/dropdown-menu/lib/es6/styleScrollArea.js +6 -6
- package/ellipsis/lib/cjs/Ellipsis.js +10 -10
- package/ellipsis/lib/es6/Ellipsis.js +10 -10
- package/errors/lib/cjs/Error.js +9 -9
- package/errors/lib/es6/Error.js +9 -9
- package/feature-popover/lib/cjs/FeaturePopover.js +10 -10
- package/feature-popover/lib/es6/FeaturePopover.js +10 -10
- package/feedback-form/lib/cjs/FeedbackForm.js +9 -8
- package/feedback-form/lib/cjs/FeedbackForm.js.map +1 -1
- package/feedback-form/lib/es6/FeedbackForm.js +9 -8
- package/feedback-form/lib/es6/FeedbackForm.js.map +1 -1
- package/fullscreen-modal/lib/cjs/FullscreenModal.js +13 -13
- package/fullscreen-modal/lib/es6/FullscreenModal.js +13 -13
- package/inline-input/index.d.ts +1 -1
- package/inline-input/lib/cjs/InlineInput.js +18 -18
- package/inline-input/lib/cjs/index.d.js.map +1 -1
- package/inline-input/lib/es6/InlineInput.js +18 -18
- package/inline-input/lib/es6/index.d.js.map +1 -1
- package/inline-input/lib/types/index.d.ts +1 -1
- package/input-tags/lib/cjs/InputTags.js +13 -12
- package/input-tags/lib/cjs/InputTags.js.map +1 -1
- package/input-tags/lib/es6/InputTags.js +13 -12
- package/input-tags/lib/es6/InputTags.js.map +1 -1
- package/link/lib/cjs/Link.js +12 -12
- package/link/lib/es6/Link.js +12 -12
- package/modal/lib/cjs/Modal.js +9 -9
- package/modal/lib/es6/Modal.js +9 -9
- package/notice-bubble/lib/cjs/NoticeBubble.js +13 -14
- package/notice-bubble/lib/cjs/NoticeBubble.js.map +1 -1
- package/notice-bubble/lib/cjs/style/notice-bubble.shadow.css +8 -4
- package/notice-bubble/lib/es6/NoticeBubble.js +13 -14
- package/notice-bubble/lib/es6/NoticeBubble.js.map +1 -1
- package/notice-bubble/lib/es6/style/notice-bubble.shadow.css +8 -4
- package/package.json +3 -3
- package/pagination/lib/cjs/Pagination.js +11 -11
- package/pagination/lib/cjs/Pagination.js.map +1 -1
- package/pagination/lib/es6/Pagination.js +11 -11
- package/pagination/lib/es6/Pagination.js.map +1 -1
- package/popper/index.d.ts +2 -0
- package/popper/lib/cjs/Popper.js +6 -6
- package/popper/lib/cjs/index.d.js.map +1 -1
- package/popper/lib/cjs/style/popper.shadow.css +2 -1
- package/popper/lib/es6/Popper.js +6 -6
- package/popper/lib/es6/index.d.js.map +1 -1
- package/popper/lib/es6/style/popper.shadow.css +2 -1
- package/popper/lib/types/index.d.ts +2 -0
- package/radio/lib/cjs/Radio.js +16 -16
- package/radio/lib/es6/Radio.js +16 -16
- package/scroll-area/index.d.ts +5 -0
- package/scroll-area/lib/cjs/ScrollArea.js +79 -48
- package/scroll-area/lib/cjs/ScrollArea.js.map +1 -1
- package/scroll-area/lib/cjs/ScrollBar.js +51 -6
- package/scroll-area/lib/cjs/ScrollBar.js.map +1 -1
- package/scroll-area/lib/cjs/index.d.js.map +1 -1
- package/scroll-area/lib/cjs/style/scroll-area.shadow.css +17 -2
- package/scroll-area/lib/cjs/style/scroll-bar.shadow.css +2 -3
- package/scroll-area/lib/es6/ScrollArea.js +79 -48
- package/scroll-area/lib/es6/ScrollArea.js.map +1 -1
- package/scroll-area/lib/es6/ScrollBar.js +51 -6
- package/scroll-area/lib/es6/ScrollBar.js.map +1 -1
- package/scroll-area/lib/es6/index.d.js.map +1 -1
- package/scroll-area/lib/es6/style/scroll-area.shadow.css +17 -2
- package/scroll-area/lib/es6/style/scroll-bar.shadow.css +2 -3
- package/scroll-area/lib/types/index.d.ts +5 -0
- package/select/lib/cjs/InputSearch.js +6 -6
- package/select/lib/cjs/Select.js +48 -36
- package/select/lib/cjs/Select.js.map +1 -1
- package/select/lib/cjs/style/select.shadow.css +21 -17
- package/select/lib/es6/InputSearch.js +6 -6
- package/select/lib/es6/Select.js +49 -36
- package/select/lib/es6/Select.js.map +1 -1
- package/select/lib/es6/style/select.shadow.css +21 -17
- package/side-panel/lib/cjs/SidePanel.js +15 -15
- package/side-panel/lib/es6/SidePanel.js +15 -15
- package/time-picker/lib/cjs/TimePicker.js +12 -12
- package/time-picker/lib/es6/TimePicker.js +12 -12
- package/tooltip/lib/cjs/Tooltip.js +19 -22
- package/tooltip/lib/cjs/Tooltip.js.map +1 -1
- package/tooltip/lib/es6/Tooltip.js +19 -22
- package/tooltip/lib/es6/Tooltip.js.map +1 -1
- package/typography/lib/cjs/Blockquote.js +4 -4
- package/typography/lib/cjs/Hint.js +7 -7
- package/typography/lib/cjs/List.js +7 -6
- package/typography/lib/cjs/List.js.map +1 -1
- package/typography/lib/cjs/Text.js +34 -34
- package/typography/lib/es6/Blockquote.js +4 -4
- package/typography/lib/es6/Hint.js +7 -7
- package/typography/lib/es6/List.js +7 -6
- package/typography/lib/es6/List.js.map +1 -1
- package/typography/lib/es6/Text.js +34 -34
- package/widget-empty/lib/cjs/WidgetEmpty.js +6 -6
- package/widget-empty/lib/cjs/WidgetEmpty.js.map +1 -1
- package/widget-empty/lib/cjs/style/widget-empty.shadow.css +5 -3
- package/widget-empty/lib/es6/WidgetEmpty.js +6 -6
- package/widget-empty/lib/es6/WidgetEmpty.js.map +1 -1
- package/widget-empty/lib/es6/style/widget-empty.shadow.css +5 -3
- package/wizard/lib/cjs/Wizard.js +11 -11
- package/wizard/lib/es6/Wizard.js +11 -11
- package/data-table/lib/cjs/style/scroll-area.shadow.css +0 -7
- package/data-table/lib/es6/style/scroll-area.shadow.css +0 -7
@@ -29,15 +29,23 @@ var _uniqueID = _interopRequireDefault(require("intergalactic/utils/lib/uniqueID
|
|
29
29
|
var _canUseDOM = _interopRequireDefault(require("intergalactic/utils/lib/canUseDOM"));
|
30
30
|
var _excluded = ["position"];
|
31
31
|
/*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
|
32
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
33
|
-
"__SScrollArea": "
|
34
|
-
"
|
35
|
-
"
|
36
|
-
"
|
37
|
-
"
|
38
|
-
"
|
39
|
-
"
|
40
|
-
"
|
32
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SScrollArea_59oue_gg_{position:relative;width:100%;height:100%}.___SShadowHorizontal_59oue_gg_:after,.___SShadowHorizontal_59oue_gg_:before,.___SShadowVertical_59oue_gg_:after,.___SShadowVertical_59oue_gg_:before{content:\"\";position:absolute;pointer-events:none}.___SShadowHorizontal_59oue_gg_:after,.___SShadowHorizontal_59oue_gg_:before{top:0;display:block;width:5px;height:100%}.___SShadowHorizontal_59oue_gg_._position_median_59oue_gg_:before{left:0;background:var(--intergalactic-scroll-area-shadow-left,\n linear-gradient(to right, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SShadowHorizontal_59oue_gg_._position_median_59oue_gg_:after{right:0;background:var(--intergalactic-scroll-area-shadow-right,\n linear-gradient(to left, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SShadowHorizontal_59oue_gg_._position_start_59oue_gg_:before{left:0;background:var(--intergalactic-scroll-area-shadow-left,\n linear-gradient(to right, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SShadowHorizontal_59oue_gg_._position_end_59oue_gg_:after{right:0;background:var(--intergalactic-scroll-area-shadow-right,\n linear-gradient(to left, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SShadowHorizontal_59oue_gg_.__leftOffset_59oue_gg_:before{left:var(--leftOffset_59oue)}.___SShadowHorizontal_59oue_gg_.__rightOffset_59oue_gg_:after{right:var(--rightOffset_59oue)}.___SShadowVertical_59oue_gg_:after,.___SShadowVertical_59oue_gg_:before{left:0;display:block;width:100%;height:5px}.___SShadowVertical_59oue_gg_._position_median_59oue_gg_:before{top:0;background:var(--intergalactic-scroll-area-shadow-top,\n linear-gradient(to bottom, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SShadowVertical_59oue_gg_._position_median_59oue_gg_:after{bottom:0;background:var(--intergalactic-scroll-area-shadow-bottom,\n linear-gradient(to top, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SShadowVertical_59oue_gg_._position_start_59oue_gg_:before{top:0;background:var(--intergalactic-scroll-area-shadow-top,\n linear-gradient(to bottom, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SShadowVertical_59oue_gg_._position_end_59oue_gg_:after{bottom:0;background:var(--intergalactic-scroll-area-shadow-bottom,\n linear-gradient(to top, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SShadowVertical_59oue_gg_.__topOffset_59oue_gg_:before{top:var(--topOffset_59oue)}.___SShadowVertical_59oue_gg_.__bottomOffset_59oue_gg_:after{bottom:var(--bottomOffset_59oue)}.___SContainer_59oue_gg_{display:block;width:100%;height:100%;box-sizing:content-box;overflow:auto;-webkit-overflow-scrolling:touch;outline:0;scrollbar-width:none;-ms-overflow-style:none}.___SContainer_59oue_gg_::-webkit-scrollbar{display:none}.___SContainer_59oue_gg_.__keyboardFocused_59oue_gg_:focus::after{position:absolute;display:block;content:\"\";top:0;right:0;bottom:0;left:0;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));pointer-events:none;z-index:2}" /*__inner_css_end__*/, "59oue_gg_") /*__reshadow_css_end__*/, {
|
33
|
+
"__SScrollArea": "___SScrollArea_59oue_gg_",
|
34
|
+
"__SShadowHorizontal": "___SShadowHorizontal_59oue_gg_",
|
35
|
+
"_leftOffset": "__leftOffset_59oue_gg_",
|
36
|
+
"--leftOffset": "--leftOffset_59oue",
|
37
|
+
"_rightOffset": "__rightOffset_59oue_gg_",
|
38
|
+
"--rightOffset": "--rightOffset_59oue",
|
39
|
+
"__SShadowVertical": "___SShadowVertical_59oue_gg_",
|
40
|
+
"_topOffset": "__topOffset_59oue_gg_",
|
41
|
+
"--topOffset": "--topOffset_59oue",
|
42
|
+
"_bottomOffset": "__bottomOffset_59oue_gg_",
|
43
|
+
"--bottomOffset": "--bottomOffset_59oue",
|
44
|
+
"__SContainer": "___SContainer_59oue_gg_",
|
45
|
+
"_keyboardFocused": "__keyboardFocused_59oue_gg_",
|
46
|
+
"_position_median": "_position_median_59oue_gg_",
|
47
|
+
"_position_start": "_position_start_59oue_gg_",
|
48
|
+
"_position_end": "_position_end_59oue_gg_"
|
41
49
|
});
|
42
50
|
var eventCalculate = undefined;
|
43
51
|
exports.eventCalculate = eventCalculate;
|
@@ -97,16 +105,27 @@ var ScrollAreaRoot = /*#__PURE__*/function (_Component) {
|
|
97
105
|
});
|
98
106
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleFocusIn", function (e) {
|
99
107
|
setTimeout(function () {
|
100
|
-
|
101
|
-
|
102
|
-
|
108
|
+
var _this$asProps = _this.asProps,
|
109
|
+
keyboardFocused = _this$asProps.keyboardFocused,
|
110
|
+
leftOffset = _this$asProps.leftOffset,
|
111
|
+
rightOffset = _this$asProps.rightOffset,
|
112
|
+
topOffset = _this$asProps.topOffset,
|
113
|
+
bottomOffset = _this$asProps.bottomOffset;
|
114
|
+
if (_this.$container && typeof _this.$container.scrollTo === 'function') {
|
115
|
+
var viewPort = _this.$container.getBoundingClientRect();
|
103
116
|
var element = e.target.getBoundingClientRect();
|
117
|
+
var offset = {
|
118
|
+
top: topOffset !== null && topOffset !== void 0 ? topOffset : 0,
|
119
|
+
left: leftOffset !== null && leftOffset !== void 0 ? leftOffset : 0,
|
120
|
+
right: rightOffset !== null && rightOffset !== void 0 ? rightOffset : 0,
|
121
|
+
bottom: bottomOffset !== null && bottomOffset !== void 0 ? bottomOffset : 0
|
122
|
+
};
|
104
123
|
if (viewPort) {
|
105
|
-
var outOfViewport = element.top >= viewPort.bottom || element.bottom <= viewPort.top || element.left >= viewPort.right || element.right <= viewPort.left;
|
106
|
-
if (outOfViewport &&
|
107
|
-
|
108
|
-
|
109
|
-
|
124
|
+
var outOfViewport = Math.floor(element.top) >= viewPort.bottom - offset.bottom || Math.floor(element.bottom) <= viewPort.top + offset.top || Math.floor(element.left) >= viewPort.right - offset.right || Math.floor(element.right) <= viewPort.left + offset.left;
|
125
|
+
if (outOfViewport && keyboardFocused) {
|
126
|
+
_this.$container.scrollTo({
|
127
|
+
top: element.top + _this.$container.scrollTop - offset.top - viewPort.top,
|
128
|
+
left: element.left + _this.$container.scrollLeft - offset.left - viewPort.left
|
110
129
|
});
|
111
130
|
}
|
112
131
|
}
|
@@ -133,13 +152,13 @@ var ScrollAreaRoot = /*#__PURE__*/function (_Component) {
|
|
133
152
|
});
|
134
153
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setShadowContainer", function () {
|
135
154
|
if (!_this.asProps.shadow || !_this.$container || !_this.$wrapper) return;
|
136
|
-
var _this$$
|
137
|
-
scrollWidth = _this$$
|
138
|
-
clientWidth = _this$$
|
139
|
-
scrollHeight = _this$$
|
140
|
-
clientHeight = _this$$
|
141
|
-
scrollLeft = _this$$
|
142
|
-
scrollTop = _this$$
|
155
|
+
var _this$$container = _this.$container,
|
156
|
+
scrollWidth = _this$$container.scrollWidth,
|
157
|
+
clientWidth = _this$$container.clientWidth,
|
158
|
+
scrollHeight = _this$$container.scrollHeight,
|
159
|
+
clientHeight = _this$$container.clientHeight,
|
160
|
+
scrollLeft = _this$$container.scrollLeft,
|
161
|
+
scrollTop = _this$$container.scrollTop;
|
143
162
|
var maxScrollRight = scrollWidth - clientWidth;
|
144
163
|
var maxScrollBottom = scrollHeight - clientHeight;
|
145
164
|
_this.toggleShadow(scrollLeft, maxScrollRight, 'shadowHorizontal');
|
@@ -170,9 +189,9 @@ var ScrollAreaRoot = /*#__PURE__*/function (_Component) {
|
|
170
189
|
height: ''
|
171
190
|
};
|
172
191
|
if (!this.$container || !this.$wrapper) return size;
|
173
|
-
var _this$$
|
174
|
-
scrollWidth = _this$$
|
175
|
-
scrollHeight = _this$$
|
192
|
+
var _this$$container2 = this.$container,
|
193
|
+
scrollWidth = _this$$container2.scrollWidth,
|
194
|
+
scrollHeight = _this$$container2.scrollHeight;
|
176
195
|
var style = window.getComputedStyle(this.$wrapper);
|
177
196
|
var maxWidth = Number.parseInt(style.getPropertyValue('max-width'));
|
178
197
|
var maxHeight = Number.parseInt(style.getPropertyValue('max-height'));
|
@@ -195,11 +214,11 @@ var ScrollAreaRoot = /*#__PURE__*/function (_Component) {
|
|
195
214
|
}, {
|
196
215
|
key: "getContainerProps",
|
197
216
|
value: function getContainerProps() {
|
198
|
-
var _this$
|
199
|
-
container = _this$
|
200
|
-
inner = _this$
|
201
|
-
onScroll = _this$
|
202
|
-
uid = _this$
|
217
|
+
var _this$asProps2 = this.asProps,
|
218
|
+
container = _this$asProps2.container,
|
219
|
+
inner = _this$asProps2.inner,
|
220
|
+
onScroll = _this$asProps2.onScroll,
|
221
|
+
uid = _this$asProps2.uid;
|
203
222
|
return {
|
204
223
|
id: "igc-".concat(uid, "-scroll-container"),
|
205
224
|
ref: container,
|
@@ -210,16 +229,20 @@ var ScrollAreaRoot = /*#__PURE__*/function (_Component) {
|
|
210
229
|
}, {
|
211
230
|
key: "getBarProps",
|
212
231
|
value: function getBarProps() {
|
213
|
-
var _this$
|
214
|
-
container = _this$
|
215
|
-
orientation = _this$
|
216
|
-
uid = _this$
|
232
|
+
var _this$asProps3 = this.asProps,
|
233
|
+
container = _this$asProps3.container,
|
234
|
+
orientation = _this$asProps3.orientation,
|
235
|
+
uid = _this$asProps3.uid,
|
236
|
+
leftOffset = _this$asProps3.leftOffset,
|
237
|
+
rightOffset = _this$asProps3.rightOffset;
|
217
238
|
return {
|
218
239
|
container: container,
|
219
240
|
orientation: orientation,
|
220
241
|
uid: uid,
|
221
242
|
horizontalBarRef: this.horizontalBarRef,
|
222
|
-
verticalBarRef: this.verticalBarRef
|
243
|
+
verticalBarRef: this.verticalBarRef,
|
244
|
+
leftOffset: leftOffset,
|
245
|
+
rightOffset: rightOffset
|
223
246
|
};
|
224
247
|
}
|
225
248
|
}, {
|
@@ -258,12 +281,16 @@ var ScrollAreaRoot = /*#__PURE__*/function (_Component) {
|
|
258
281
|
var SScrollArea = _flexBox.Box;
|
259
282
|
var SShadowVertical = BoxWithoutPosition;
|
260
283
|
var SShadowHorizontal = BoxWithoutPosition;
|
261
|
-
var _this$
|
262
|
-
Children = _this$
|
263
|
-
styles = _this$
|
264
|
-
orientation = _this$
|
265
|
-
tabIndex = _this$
|
266
|
-
forcedAdvancedMode = _this$
|
284
|
+
var _this$asProps4 = this.asProps,
|
285
|
+
Children = _this$asProps4.Children,
|
286
|
+
styles = _this$asProps4.styles,
|
287
|
+
orientation = _this$asProps4.orientation,
|
288
|
+
tabIndex = _this$asProps4.tabIndex,
|
289
|
+
forcedAdvancedMode = _this$asProps4.forcedAdvancedMode,
|
290
|
+
leftOffset = _this$asProps4.leftOffset,
|
291
|
+
rightOffset = _this$asProps4.rightOffset,
|
292
|
+
topOffset = _this$asProps4.topOffset,
|
293
|
+
bottomOffset = _this$asProps4.bottomOffset;
|
267
294
|
var _this$state = this.state,
|
268
295
|
shadowVertical = _this$state.shadowVertical,
|
269
296
|
shadowHorizontal = _this$state.shadowHorizontal;
|
@@ -272,16 +299,20 @@ var ScrollAreaRoot = /*#__PURE__*/function (_Component) {
|
|
272
299
|
"ref": this.refWrapper,
|
273
300
|
"onScroll": this.handleScroll,
|
274
301
|
"__excludeProps": ['tabIndex']
|
275
|
-
}, _ref))),
|
276
|
-
"position": shadowVertical
|
277
|
-
})), shadowHorizontal && /*#__PURE__*/_react["default"].createElement(SShadowHorizontal, _ref3.cn("SShadowHorizontal", {
|
278
|
-
"position": shadowHorizontal
|
279
|
-
})), advancedMode ? /*#__PURE__*/_react["default"].createElement(Children, _ref3.cn("Children", {})) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(ScrollArea.Container, {
|
302
|
+
}, _ref))), advancedMode ? /*#__PURE__*/_react["default"].createElement(Children, _ref3.cn("Children", {})) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(ScrollArea.Container, {
|
280
303
|
tabIndex: tabIndex
|
281
304
|
}, /*#__PURE__*/_react["default"].createElement(Children, _ref3.cn("Children", {}))), (orientation === undefined || orientation === 'horizontal') && /*#__PURE__*/_react["default"].createElement(ScrollArea.Bar, {
|
282
305
|
orientation: "horizontal"
|
283
306
|
}), (orientation === undefined || orientation === 'vertical') && /*#__PURE__*/_react["default"].createElement(ScrollArea.Bar, {
|
284
307
|
orientation: "vertical"
|
308
|
+
})), shadowVertical && /*#__PURE__*/_react["default"].createElement(SShadowVertical, _ref3.cn("SShadowVertical", {
|
309
|
+
"position": shadowVertical,
|
310
|
+
"topOffset": topOffset ? "".concat(topOffset, "px") : undefined,
|
311
|
+
"bottomOffset": bottomOffset ? "".concat(bottomOffset, "px") : undefined
|
312
|
+
})), shadowHorizontal && /*#__PURE__*/_react["default"].createElement(SShadowHorizontal, _ref3.cn("SShadowHorizontal", {
|
313
|
+
"position": shadowHorizontal,
|
314
|
+
"leftOffset": leftOffset ? "".concat(leftOffset, "px") : undefined,
|
315
|
+
"rightOffset": rightOffset ? "".concat(rightOffset, "px") : undefined
|
285
316
|
})));
|
286
317
|
}
|
287
318
|
}]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ScrollArea.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_reactDom","_flexBox","_rafTrottle","_ref6","_findComponent","_assignProps3","_ScrollBar","_keyboardFocusEnhance","_uniqueID","_canUseDOM","_excluded","style","sstyled","insert","eventCalculate","undefined","exports","window","Event","BoxWithoutPosition","React","forwardRef","_ref5","ref","position","props","_objectWithoutProperties2","createElement","Box","_extends2","ScrollAreaRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","createRef","shadowHorizontal","shadowVertical","node","$wrapper","findDOMNode","trottle","$container","_this$calculateSizeCo","calculateSizeContainer","height","width","dispatchEvent","setShadowContainer","setAreaValue","horizontalBarRef","current","verticalBarRef","updateBarsAria","e","_e$target","target","isEqualNode","scrollTop","scrollLeft","setTimeout","scrollIntoView","_this$$container","viewPort","getBoundingClientRect","element","outOfViewport","top","bottom","left","right","asProps","keyboardFocused","block","inline","scroll","maxScroll","orientation","roundedScroll","Math","round","roundedMaxScroll","shadow","setState","_this$$container2","scrollWidth","clientWidth","scrollHeight","clientHeight","maxScrollRight","maxScrollBottom","toggleShadow","canUseDOM","observer","ResizeObserver","callAllEventHandlers","onResize","calculate","_createClass2","key","get","getNodeByRef","container","inner","value","size","_this$$container3","getComputedStyle","maxWidth","Number","parseInt","getPropertyValue","maxHeight","concat","getContainerProps","_this$asProps","onScroll","uid","id","$refInner","handleScrollContainer","getBarProps","_this$asProps2","componentDidMount","_this$$inner","$inner","_this$observer","observe","_this$observer2","addEventListener","handleFocusIn","componentDidUpdate","componentWillUnmount","_this$observer3","_this$$inner2","disconnect","removeEventListener","render","_ref","_ref3","SScrollArea","SShadowVertical","SShadowHorizontal","_this$asProps3","Children","styles","tabIndex","forcedAdvancedMode","_this$state","state","advancedMode","isAdvanceMode","ScrollArea","Container","displayName","Bar","cn","_objectSpread2","assignProps","refWrapper","handleScroll","Fragment","Component","uniqueIDEnhancement","keyboardFocusEnhance","ContainerRoot","_ref2","arguments[0]","_ref4","SContainer","enhance","createComponent","BarRoot","_default"],"sources":["../../src/ScrollArea.jsx"],"sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport { getNodeByRef } from '@semcore/utils/lib/ref';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport BarRoot, { setAreaValue } from './ScrollBar';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\n\nimport style from './style/scroll-area.shadow.css';\n\nlet eventCalculate = undefined;\nif (typeof window !== 'undefined') {\n eventCalculate = new Event('calculate');\n}\n\nconst BoxWithoutPosition = React.forwardRef(({ position, ...props }, ref) => (\n <Box ref={ref} {...props} />\n));\n\nclass ScrollAreaRoot extends Component {\n static displayName = 'ScrollArea';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), keyboardFocusEnhance()];\n\n static defaultProps = () => ({\n container: React.createRef(),\n inner: React.createRef(),\n tabIndex: 0,\n });\n\n $wrapper = null;\n observer = null;\n horizontalBarRef = React.createRef();\n verticalBarRef = React.createRef();\n\n get $container() {\n return getNodeByRef(this.asProps.container);\n }\n\n get $inner() {\n return getNodeByRef(this.asProps.inner);\n }\n\n state = {\n shadowHorizontal: false,\n shadowVertical: false,\n };\n\n constructor(props) {\n super(props);\n\n if (canUseDOM()) {\n this.observer = new ResizeObserver(callAllEventHandlers(props.onResize, this.calculate));\n }\n }\n\n refWrapper = (node) => {\n this.$wrapper = findDOMNode(node);\n };\n\n // for max height/width\n calculateSizeContainer() {\n const size = { width: '', height: '' };\n if (!this.$container || !this.$wrapper) return size;\n const { scrollWidth, scrollHeight } = this.$container;\n const style = window.getComputedStyle(this.$wrapper);\n const maxWidth = Number.parseInt(style.getPropertyValue('max-width'));\n const maxHeight = Number.parseInt(style.getPropertyValue('max-height'));\n\n if (maxWidth) {\n if (scrollWidth > maxWidth) {\n size.width = `${maxWidth}px`;\n } else {\n size.width = '100%';\n }\n }\n\n if (maxHeight) {\n if (scrollHeight > maxHeight) {\n size.height = `${maxHeight}px`;\n } else {\n size.height = '100%';\n }\n }\n\n return size;\n }\n\n calculate = trottle(() => {\n if (!this.$container) return;\n\n const { height, width } = this.calculateSizeContainer();\n if (height) this.$container.style.height = height;\n if (width) this.$container.style.width = width;\n this.$container.dispatchEvent(eventCalculate);\n this.setShadowContainer();\n });\n\n updateBarsAria = trottle(() => {\n setAreaValue(this.$container, this.horizontalBarRef.current, this.verticalBarRef.current);\n });\n\n handleScrollContainer = trottle(() => {\n if (!this.$container) return;\n this.setShadowContainer();\n this.updateBarsAria();\n });\n\n // FIX Chrome bug, when focus state on hide control\n handleScroll = (e) => {\n if (e.target?.isEqualNode(this.$wrapper)) {\n e.target.scrollTop = 0;\n e.target.scrollLeft = 0;\n }\n };\n\n handleFocusIn = (e) => {\n setTimeout(() => {\n if (typeof e.target.scrollIntoView === 'function') {\n const viewPort = this.$container?.getBoundingClientRect();\n const element = e.target.getBoundingClientRect();\n\n if (viewPort) {\n const outOfViewport =\n element.top >= viewPort.bottom ||\n element.bottom <= viewPort.top ||\n element.left >= viewPort.right ||\n element.right <= viewPort.left;\n\n if (outOfViewport && this.asProps.keyboardFocused) {\n e.target.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n }\n }, 0);\n };\n\n toggleShadow = (scroll, maxScroll, orientation) => {\n const roundedScroll = Math.round(scroll);\n const roundedMaxScroll = Math.round(maxScroll);\n let shadow = '';\n // not scroll\n if (roundedMaxScroll <= 0) {\n // start scroll\n } else if (roundedScroll <= 0) {\n shadow = 'end';\n // end scroll\n } else if (roundedScroll >= roundedMaxScroll) {\n shadow = 'start';\n // median scroll\n } else if (roundedScroll > 0) {\n shadow = 'median';\n }\n this.setState({\n [orientation]: shadow,\n });\n };\n\n setShadowContainer = () => {\n if (!this.asProps.shadow || !this.$container || !this.$wrapper) return;\n\n const { scrollWidth, clientWidth, scrollHeight, clientHeight, scrollLeft, scrollTop } =\n this.$container;\n const maxScrollRight = scrollWidth - clientWidth;\n const maxScrollBottom = scrollHeight - clientHeight;\n\n this.toggleShadow(scrollLeft, maxScrollRight, 'shadowHorizontal');\n this.toggleShadow(scrollTop, maxScrollBottom, 'shadowVertical');\n };\n\n getContainerProps() {\n const { container, inner, onScroll, uid } = this.asProps;\n return {\n id: `igc-${uid}-scroll-container`,\n ref: container,\n $refInner: inner,\n onScroll: callAllEventHandlers(onScroll, this.handleScrollContainer),\n };\n }\n\n getBarProps() {\n const { container, orientation, uid } = this.asProps;\n return {\n container,\n orientation,\n uid,\n horizontalBarRef: this.horizontalBarRef,\n verticalBarRef: this.verticalBarRef,\n };\n }\n\n componentDidMount() {\n this.calculate();\n this.updateBarsAria();\n if (this.$inner) {\n this.observer?.observe(this.$inner);\n }\n if (this.$container) {\n this.observer?.observe(this.$container);\n }\n\n this.$inner?.addEventListener('focusin', this.handleFocusIn);\n }\n\n componentDidUpdate() {\n this.calculate();\n }\n\n componentWillUnmount() {\n this.observer?.disconnect();\n this.$inner?.removeEventListener('focusin', this.handleFocusIn);\n }\n\n render() {\n const SScrollArea = Root;\n const SShadowVertical = BoxWithoutPosition;\n const SShadowHorizontal = BoxWithoutPosition;\n const { Children, styles, orientation, tabIndex, forcedAdvancedMode } = this.asProps;\n const { shadowVertical, shadowHorizontal } = this.state;\n\n const advancedMode =\n forcedAdvancedMode ||\n isAdvanceMode(Children, [ScrollArea.Container.displayName, ScrollArea.Bar.displayName]);\n\n return sstyled(styles)(\n <SScrollArea\n render={Box}\n ref={this.refWrapper}\n onScroll={this.handleScroll}\n __excludeProps={['tabIndex']}\n >\n {shadowVertical && <SShadowVertical position={shadowVertical} />}\n {shadowHorizontal && <SShadowHorizontal position={shadowHorizontal} />}\n {advancedMode ? (\n <Children />\n ) : (\n <>\n <ScrollArea.Container tabIndex={tabIndex}>\n <Children />\n </ScrollArea.Container>\n {(orientation === undefined || orientation === 'horizontal') && (\n <ScrollArea.Bar orientation='horizontal' />\n )}\n {(orientation === undefined || orientation === 'vertical') && (\n <ScrollArea.Bar orientation='vertical' />\n )}\n </>\n )}\n </SScrollArea>,\n );\n }\n}\n\nfunction ContainerRoot(props) {\n const SContainer = Root;\n const { Children, styles, $refInner } = props;\n return sstyled(styles)(\n <SContainer render={Box} tabIndex={0}>\n <div ref={$refInner}>\n <Children />\n </div>\n </SContainer>,\n );\n}\n\nContainerRoot.enhance = [keyboardFocusEnhance()];\n\nconst ScrollArea = createComponent(ScrollAreaRoot, {\n Container: ContainerRoot,\n Bar: BarRoot,\n});\n\n// TODO: remove named ScrollArea export\nexport { eventCalculate, ScrollArea };\nexport default ScrollArea;\n"],"mappings":";;;;;;;;;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAHA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAGA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,qBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,SAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,UAAA,GAAAV,sBAAA,CAAAF,OAAA;AAAqD,IAAAa,SAAA;AAAA;AAAA,IAAAC,KAAA,+BAAAhB,KAAA,CAAAiB,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAIrD,IAAIC,cAAc,GAAGC,SAAS;AAACC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAC/B,IAAI,OAAOG,MAAM,KAAK,WAAW,EAAE;EACjCD,OAAA,CAAAF,cAAA,GAAAA,cAAc,GAAG,IAAII,KAAK,CAAC,WAAW,CAAC;AACzC;AAEA,IAAMC,kBAAkB,gBAAGC,iBAAK,CAACC,UAAU,CAAC,UAAAC,KAAA,EAAyBC,GAAG;EAAA,IAAzBC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAAKC,KAAK,OAAAC,yBAAA,aAAAJ,KAAA,EAAAZ,SAAA;EAAA,oBAC/DZ,MAAA,YAAA6B,aAAA,CAAC1B,QAAA,CAAA2B,GAAG,MAAAC,SAAA;IAACN,GAAG,EAAEA;EAAI,GAAKE,KAAK,EAAI;AAAA,CAC7B,CAAC;AAAC,IAEGK,cAAc,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,cAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,cAAA;EA8BlB,SAAAA,eAAYL,KAAK,EAAE;IAAA,IAAAU,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,cAAA;IACjBK,KAAA,GAAAF,MAAA,CAAAI,IAAA,OAAMZ,KAAK;IAAE,IAAAa,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,eAnBJ,IAAI;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,eACJ,IAAI;IAAA,IAAAG,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oCACIf,iBAAK,CAACoB,SAAS,EAAE;IAAA,IAAAF,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,kCACnBf,iBAAK,CAACoB,SAAS,EAAE;IAAA,IAAAF,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,YAU1B;MACNM,gBAAgB,EAAE,KAAK;MACvBC,cAAc,EAAE;IAClB,CAAC;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,iBAUY,UAACQ,IAAI,EAAK;MACrBR,KAAA,CAAKS,QAAQ,GAAG,IAAAC,qBAAW,EAACF,IAAI,CAAC;IACnC,CAAC;IAAA,IAAAL,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,gBA8BW,IAAAW,sBAAO,EAAC,YAAM;MACxB,IAAI,CAACX,KAAA,CAAKY,UAAU,EAAE;MAEtB,IAAAC,qBAAA,GAA0Bb,KAAA,CAAKc,sBAAsB,EAAE;QAA/CC,MAAM,GAAAF,qBAAA,CAANE,MAAM;QAAEC,KAAK,GAAAH,qBAAA,CAALG,KAAK;MACrB,IAAID,MAAM,EAAEf,KAAA,CAAKY,UAAU,CAACpC,KAAK,CAACuC,MAAM,GAAGA,MAAM;MACjD,IAAIC,KAAK,EAAEhB,KAAA,CAAKY,UAAU,CAACpC,KAAK,CAACwC,KAAK,GAAGA,KAAK;MAC9ChB,KAAA,CAAKY,UAAU,CAACK,aAAa,CAACtC,cAAc,CAAC;MAC7CqB,KAAA,CAAKkB,kBAAkB,EAAE;IAC3B,CAAC,CAAC;IAAA,IAAAf,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,qBAEe,IAAAW,sBAAO,EAAC,YAAM;MAC7B,IAAAQ,uBAAY,EAACnB,KAAA,CAAKY,UAAU,EAAEZ,KAAA,CAAKoB,gBAAgB,CAACC,OAAO,EAAErB,KAAA,CAAKsB,cAAc,CAACD,OAAO,CAAC;IAC3F,CAAC,CAAC;IAAA,IAAAlB,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,4BAEsB,IAAAW,sBAAO,EAAC,YAAM;MACpC,IAAI,CAACX,KAAA,CAAKY,UAAU,EAAE;MACtBZ,KAAA,CAAKkB,kBAAkB,EAAE;MACzBlB,KAAA,CAAKuB,cAAc,EAAE;IACvB,CAAC,CAAC;IAEF;IAAA,IAAApB,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,mBACe,UAACwB,CAAC,EAAK;MAAA,IAAAC,SAAA;MACpB,KAAAA,SAAA,GAAID,CAAC,CAACE,MAAM,cAAAD,SAAA,eAARA,SAAA,CAAUE,WAAW,CAAC3B,KAAA,CAAKS,QAAQ,CAAC,EAAE;QACxCe,CAAC,CAACE,MAAM,CAACE,SAAS,GAAG,CAAC;QACtBJ,CAAC,CAACE,MAAM,CAACG,UAAU,GAAG,CAAC;MACzB;IACF,CAAC;IAAA,IAAA1B,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,oBAEe,UAACwB,CAAC,EAAK;MACrBM,UAAU,CAAC,YAAM;QACf,IAAI,OAAON,CAAC,CAACE,MAAM,CAACK,cAAc,KAAK,UAAU,EAAE;UAAA,IAAAC,gBAAA;UACjD,IAAMC,QAAQ,IAAAD,gBAAA,GAAGhC,KAAA,CAAKY,UAAU,cAAAoB,gBAAA,uBAAfA,gBAAA,CAAiBE,qBAAqB,EAAE;UACzD,IAAMC,OAAO,GAAGX,CAAC,CAACE,MAAM,CAACQ,qBAAqB,EAAE;UAEhD,IAAID,QAAQ,EAAE;YACZ,IAAMG,aAAa,GACjBD,OAAO,CAACE,GAAG,IAAIJ,QAAQ,CAACK,MAAM,IAC9BH,OAAO,CAACG,MAAM,IAAIL,QAAQ,CAACI,GAAG,IAC9BF,OAAO,CAACI,IAAI,IAAIN,QAAQ,CAACO,KAAK,IAC9BL,OAAO,CAACK,KAAK,IAAIP,QAAQ,CAACM,IAAI;YAEhC,IAAIH,aAAa,IAAIpC,KAAA,CAAKyC,OAAO,CAACC,eAAe,EAAE;cACjDlB,CAAC,CAACE,MAAM,CAACK,cAAc,CAAC;gBACtBY,KAAK,EAAE,SAAS;gBAChBC,MAAM,EAAE;cACV,CAAC,CAAC;YACJ;UACF;QACF;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAAA,IAAAzC,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,mBAEc,UAAC6C,MAAM,EAAEC,SAAS,EAAEC,WAAW,EAAK;MACjD,IAAMC,aAAa,GAAGC,IAAI,CAACC,KAAK,CAACL,MAAM,CAAC;MACxC,IAAMM,gBAAgB,GAAGF,IAAI,CAACC,KAAK,CAACJ,SAAS,CAAC;MAC9C,IAAIM,MAAM,GAAG,EAAE;MACf;MACA,IAAID,gBAAgB,IAAI,CAAC,EAAE;QACzB;MAAA,CACD,MAAM,IAAIH,aAAa,IAAI,CAAC,EAAE;QAC7BI,MAAM,GAAG,KAAK;QACd;MACF,CAAC,MAAM,IAAIJ,aAAa,IAAIG,gBAAgB,EAAE;QAC5CC,MAAM,GAAG,OAAO;QAChB;MACF,CAAC,MAAM,IAAIJ,aAAa,GAAG,CAAC,EAAE;QAC5BI,MAAM,GAAG,QAAQ;MACnB;MACApD,KAAA,CAAKqD,QAAQ,KAAAlD,gBAAA,iBACV4C,WAAW,EAAGK,MAAM,EACrB;IACJ,CAAC;IAAA,IAAAjD,gBAAA,iBAAAC,uBAAA,aAAAJ,KAAA,yBAEoB,YAAM;MACzB,IAAI,CAACA,KAAA,CAAKyC,OAAO,CAACW,MAAM,IAAI,CAACpD,KAAA,CAAKY,UAAU,IAAI,CAACZ,KAAA,CAAKS,QAAQ,EAAE;MAEhE,IAAA6C,iBAAA,GACEtD,KAAA,CAAKY,UAAU;QADT2C,WAAW,GAAAD,iBAAA,CAAXC,WAAW;QAAEC,WAAW,GAAAF,iBAAA,CAAXE,WAAW;QAAEC,YAAY,GAAAH,iBAAA,CAAZG,YAAY;QAAEC,YAAY,GAAAJ,iBAAA,CAAZI,YAAY;QAAE7B,UAAU,GAAAyB,iBAAA,CAAVzB,UAAU;QAAED,SAAS,GAAA0B,iBAAA,CAAT1B,SAAS;MAEnF,IAAM+B,cAAc,GAAGJ,WAAW,GAAGC,WAAW;MAChD,IAAMI,eAAe,GAAGH,YAAY,GAAGC,YAAY;MAEnD1D,KAAA,CAAK6D,YAAY,CAAChC,UAAU,EAAE8B,cAAc,EAAE,kBAAkB,CAAC;MACjE3D,KAAA,CAAK6D,YAAY,CAACjC,SAAS,EAAEgC,eAAe,EAAE,gBAAgB,CAAC;IACjE,CAAC;IAxHC,IAAI,IAAAE,qBAAS,GAAE,EAAE;MACf9D,KAAA,CAAK+D,QAAQ,GAAG,IAAIC,cAAc,CAAC,IAAAC,kCAAoB,EAAC3E,KAAK,CAAC4E,QAAQ,EAAElE,KAAA,CAAKmE,SAAS,CAAC,CAAC;IAC1F;IAAC,OAAAnE,KAAA;EACH;EAAC,IAAAoE,aAAA,aAAAzE,cAAA;IAAA0E,GAAA;IAAAC,GAAA,EAnBD,SAAAA,IAAA,EAAiB;MACf,OAAO,IAAAC,kBAAY,EAAC,IAAI,CAAC9B,OAAO,CAAC+B,SAAS,CAAC;IAC7C;EAAC;IAAAH,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAa;MACX,OAAO,IAAAC,kBAAY,EAAC,IAAI,CAAC9B,OAAO,CAACgC,KAAK,CAAC;IACzC;EAAC;IAAAJ,GAAA;IAAAK,KAAA;IAmBD;IACA,SAAA5D,uBAAA,EAAyB;MACvB,IAAM6D,IAAI,GAAG;QAAE3D,KAAK,EAAE,EAAE;QAAED,MAAM,EAAE;MAAG,CAAC;MACtC,IAAI,CAAC,IAAI,CAACH,UAAU,IAAI,CAAC,IAAI,CAACH,QAAQ,EAAE,OAAOkE,IAAI;MACnD,IAAAC,iBAAA,GAAsC,IAAI,CAAChE,UAAU;QAA7C2C,WAAW,GAAAqB,iBAAA,CAAXrB,WAAW;QAAEE,YAAY,GAAAmB,iBAAA,CAAZnB,YAAY;MACjC,IAAMjF,KAAK,GAAGM,MAAM,CAAC+F,gBAAgB,CAAC,IAAI,CAACpE,QAAQ,CAAC;MACpD,IAAMqE,QAAQ,GAAGC,MAAM,CAACC,QAAQ,CAACxG,KAAK,CAACyG,gBAAgB,CAAC,WAAW,CAAC,CAAC;MACrE,IAAMC,SAAS,GAAGH,MAAM,CAACC,QAAQ,CAACxG,KAAK,CAACyG,gBAAgB,CAAC,YAAY,CAAC,CAAC;MAEvE,IAAIH,QAAQ,EAAE;QACZ,IAAIvB,WAAW,GAAGuB,QAAQ,EAAE;UAC1BH,IAAI,CAAC3D,KAAK,MAAAmE,MAAA,CAAML,QAAQ,OAAI;QAC9B,CAAC,MAAM;UACLH,IAAI,CAAC3D,KAAK,GAAG,MAAM;QACrB;MACF;MAEA,IAAIkE,SAAS,EAAE;QACb,IAAIzB,YAAY,GAAGyB,SAAS,EAAE;UAC5BP,IAAI,CAAC5D,MAAM,MAAAoE,MAAA,CAAMD,SAAS,OAAI;QAChC,CAAC,MAAM;UACLP,IAAI,CAAC5D,MAAM,GAAG,MAAM;QACtB;MACF;MAEA,OAAO4D,IAAI;IACb;EAAC;IAAAN,GAAA;IAAAK,KAAA,EAuFD,SAAAU,kBAAA,EAAoB;MAClB,IAAAC,aAAA,GAA4C,IAAI,CAAC5C,OAAO;QAAhD+B,SAAS,GAAAa,aAAA,CAATb,SAAS;QAAEC,KAAK,GAAAY,aAAA,CAALZ,KAAK;QAAEa,QAAQ,GAAAD,aAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;MACvC,OAAO;QACLC,EAAE,SAAAL,MAAA,CAASI,GAAG,sBAAmB;QACjCnG,GAAG,EAAEoF,SAAS;QACdiB,SAAS,EAAEhB,KAAK;QAChBa,QAAQ,EAAE,IAAArB,kCAAoB,EAACqB,QAAQ,EAAE,IAAI,CAACI,qBAAqB;MACrE,CAAC;IACH;EAAC;IAAArB,GAAA;IAAAK,KAAA,EAED,SAAAiB,YAAA,EAAc;MACZ,IAAAC,cAAA,GAAwC,IAAI,CAACnD,OAAO;QAA5C+B,SAAS,GAAAoB,cAAA,CAATpB,SAAS;QAAEzB,WAAW,GAAA6C,cAAA,CAAX7C,WAAW;QAAEwC,GAAG,GAAAK,cAAA,CAAHL,GAAG;MACnC,OAAO;QACLf,SAAS,EAATA,SAAS;QACTzB,WAAW,EAAXA,WAAW;QACXwC,GAAG,EAAHA,GAAG;QACHnE,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;QACvCE,cAAc,EAAE,IAAI,CAACA;MACvB,CAAC;IACH;EAAC;IAAA+C,GAAA;IAAAK,KAAA,EAED,SAAAmB,kBAAA,EAAoB;MAAA,IAAAC,YAAA;MAClB,IAAI,CAAC3B,SAAS,EAAE;MAChB,IAAI,CAAC5C,cAAc,EAAE;MACrB,IAAI,IAAI,CAACwE,MAAM,EAAE;QAAA,IAAAC,cAAA;QACf,CAAAA,cAAA,OAAI,CAACjC,QAAQ,cAAAiC,cAAA,uBAAbA,cAAA,CAAeC,OAAO,CAAC,IAAI,CAACF,MAAM,CAAC;MACrC;MACA,IAAI,IAAI,CAACnF,UAAU,EAAE;QAAA,IAAAsF,eAAA;QACnB,CAAAA,eAAA,OAAI,CAACnC,QAAQ,cAAAmC,eAAA,uBAAbA,eAAA,CAAeD,OAAO,CAAC,IAAI,CAACrF,UAAU,CAAC;MACzC;MAEA,CAAAkF,YAAA,OAAI,CAACC,MAAM,cAAAD,YAAA,uBAAXA,YAAA,CAAaK,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACC,aAAa,CAAC;IAC9D;EAAC;IAAA/B,GAAA;IAAAK,KAAA,EAED,SAAA2B,mBAAA,EAAqB;MACnB,IAAI,CAAClC,SAAS,EAAE;IAClB;EAAC;IAAAE,GAAA;IAAAK,KAAA,EAED,SAAA4B,qBAAA,EAAuB;MAAA,IAAAC,eAAA,EAAAC,aAAA;MACrB,CAAAD,eAAA,OAAI,CAACxC,QAAQ,cAAAwC,eAAA,uBAAbA,eAAA,CAAeE,UAAU,EAAE;MAC3B,CAAAD,aAAA,OAAI,CAACT,MAAM,cAAAS,aAAA,uBAAXA,aAAA,CAAaE,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACN,aAAa,CAAC;IACjE;EAAC;IAAA/B,GAAA;IAAAK,KAAA,EAED,SAAAiC,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAnE,OAAA;QAAAoE,KAAA;MACP,IAAMC,WAAW,GAYLrH,YAAG;MAXf,IAAMsH,eAAe,GAAG/H,kBAAkB;MAC1C,IAAMgI,iBAAiB,GAAGhI,kBAAkB;MAC5C,IAAAiI,cAAA,GAAwE,IAAI,CAACxE,OAAO;QAA5EyE,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,MAAM,GAAAF,cAAA,CAANE,MAAM;QAAEpE,WAAW,GAAAkE,cAAA,CAAXlE,WAAW;QAAEqE,QAAQ,GAAAH,cAAA,CAARG,QAAQ;QAAEC,kBAAkB,GAAAJ,cAAA,CAAlBI,kBAAkB;MACnE,IAAAC,WAAA,GAA6C,IAAI,CAACC,KAAK;QAA/ChH,cAAc,GAAA+G,WAAA,CAAd/G,cAAc;QAAED,gBAAgB,GAAAgH,WAAA,CAAhBhH,gBAAgB;MAExC,IAAMkH,YAAY,GAChBH,kBAAkB,IAClB,IAAAI,4BAAa,EAACP,QAAQ,EAAE,CAACQ,UAAU,CAACC,SAAS,CAACC,WAAW,EAAEF,UAAU,CAACG,GAAG,CAACD,WAAW,CAAC,CAAC;MAEzF,OAAAf,KAAA,GAAO,IAAApI,aAAO,EAAC0I,MAAM,CAAC,eACpBxJ,MAAA,YAAA6B,aAAA,CAACsH,WAAW,EAAAD,KAAA,CAAAiB,EAAA,oBAAAC,cAAA,qBAAAvK,KAAA,CAAAwK,WAAA;QAAA,OAEL,IAAI,CAACC,UAAU;QAAA,YACV,IAAI,CAACC,YAAY;QAAA,kBACX,CAAC,UAAU;MAAC,GAAAtB,IAAA,KAE3BrG,cAAc,iBAAI5C,MAAA,YAAA6B,aAAA,CAACuH,eAAe,EAAAF,KAAA,CAAAiB,EAAA;QAAA,YAAWvH;MAAc,GAAI,EAC/DD,gBAAgB,iBAAI3C,MAAA,YAAA6B,aAAA,CAACwH,iBAAiB,EAAAH,KAAA,CAAAiB,EAAA;QAAA,YAAWxH;MAAgB,GAAI,EACrEkH,YAAY,gBACX7J,MAAA,YAAA6B,aAAA,CAAC0H,QAAQ,EAAAL,KAAA,CAAAiB,EAAA,iBAAG,gBAEZnK,MAAA,YAAA6B,aAAA,CAAA7B,MAAA,YAAAwK,QAAA,qBACExK,MAAA,YAAA6B,aAAA,CAACkI,UAAU,CAACC,SAAS;QAACP,QAAQ,EAAEA;MAAS,gBACvCzJ,MAAA,YAAA6B,aAAA,CAAC0H,QAAQ,EAAAL,KAAA,CAAAiB,EAAA,iBAAG,CACS,EACtB,CAAC/E,WAAW,KAAKnE,SAAS,IAAImE,WAAW,KAAK,YAAY,kBACzDpF,MAAA,YAAA6B,aAAA,CAACkI,UAAU,CAACG,GAAG;QAAC9E,WAAW,EAAC;MAAY,EACzC,EACA,CAACA,WAAW,KAAKnE,SAAS,IAAImE,WAAW,KAAK,UAAU,kBACvDpF,MAAA,YAAA6B,aAAA,CAACkI,UAAU,CAACG,GAAG;QAAC9E,WAAW,EAAC;MAAU,EACvC,CAEJ,CACW;IAElB;EAAC;EAAA,OAAApD,cAAA;AAAA,EA3O0ByI,eAAS;AAAA,IAAAjI,gBAAA,aAAhCR,cAAc,iBACG,YAAY;AAAA,IAAAQ,gBAAA,aAD7BR,cAAc,WAGHnB,KAAK;AAAA,IAAA2B,gBAAA,aAHhBR,cAAc,aAID,CAAC,IAAA0I,oBAAmB,GAAE,EAAE,IAAAC,gCAAoB,GAAE,CAAC;AAAA,IAAAnI,gBAAA,aAJ5DR,cAAc,kBAMI;EAAA,OAAO;IAC3B6E,SAAS,eAAEvF,iBAAK,CAACoB,SAAS,EAAE;IAC5BoE,KAAK,eAAExF,iBAAK,CAACoB,SAAS,EAAE;IACxB+G,QAAQ,EAAE;EACZ,CAAC;AAAA,CAAC;AAoOJ,SAASmB,aAAaA,CAACjJ,KAAK,EAAE;EAAA,IAAAkJ,KAAA,GAAAC,YAAA;IAAAC,KAAA;EAC5B,IAAMC,UAAU,GAGMlJ,YAAG;EAFzB,IAAQyH,QAAQ,GAAwB5H,KAAK,CAArC4H,QAAQ;IAAEC,MAAM,GAAgB7H,KAAK,CAA3B6H,MAAM;IAAE1B,SAAS,GAAKnG,KAAK,CAAnBmG,SAAS;EACnC,OAAAiD,KAAA,GAAO,IAAAjK,aAAO,EAAC0I,MAAM,CAAC,eACpBxJ,MAAA,YAAA6B,aAAA,CAACmJ,UAAU,EAAAD,KAAA,CAAAZ,EAAA,mBAAAC,cAAA,qBAAAvK,KAAA,CAAAwK,WAAA;IAAA,YAAwB;EAAC,GAAAQ,KAAA,kBAClC7K,MAAA,YAAA6B,aAAA,QAAAkJ,KAAA,CAAAZ,EAAA;IAAA,OAAUrC;EAAS,iBACjB9H,MAAA,YAAA6B,aAAA,CAAC0H,QAAQ,EAAAwB,KAAA,CAAAZ,EAAA,iBAAG,CACR,CACK;AAEjB;AAEAS,aAAa,CAACK,OAAO,GAAG,CAAC,IAAAN,gCAAoB,GAAE,CAAC;AAEhD,IAAMZ,UAAU,GAAG,IAAAmB,gBAAe,EAAClJ,cAAc,EAAE;EACjDgI,SAAS,EAAEY,aAAa;EACxBV,GAAG,EAAEiB;AACP,CAAC,CAAC;;AAEF;AAAAjK,OAAA,CAAA6I,UAAA,GAAAA,UAAA;AAAA,IAAAqB,QAAA,GAEerB,UAAU;AAAA7I,OAAA,cAAAkK,QAAA"}
|
1
|
+
{"version":3,"file":"ScrollArea.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_reactDom","_flexBox","_rafTrottle","_ref6","_findComponent","_assignProps3","_ScrollBar","_keyboardFocusEnhance","_uniqueID","_canUseDOM","_excluded","style","sstyled","insert","eventCalculate","undefined","exports","window","Event","BoxWithoutPosition","React","forwardRef","_ref5","ref","position","props","_objectWithoutProperties2","createElement","Box","_extends2","ScrollAreaRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","createRef","shadowHorizontal","shadowVertical","node","$wrapper","findDOMNode","trottle","$container","_this$calculateSizeCo","calculateSizeContainer","height","width","dispatchEvent","setShadowContainer","setAreaValue","horizontalBarRef","current","verticalBarRef","updateBarsAria","e","_e$target","target","isEqualNode","scrollTop","scrollLeft","setTimeout","_this$asProps","asProps","keyboardFocused","leftOffset","rightOffset","topOffset","bottomOffset","scrollTo","viewPort","getBoundingClientRect","element","offset","top","left","right","bottom","outOfViewport","Math","floor","scroll","maxScroll","orientation","roundedScroll","round","roundedMaxScroll","shadow","setState","_this$$container","scrollWidth","clientWidth","scrollHeight","clientHeight","maxScrollRight","maxScrollBottom","toggleShadow","canUseDOM","observer","ResizeObserver","callAllEventHandlers","onResize","calculate","_createClass2","key","get","getNodeByRef","container","inner","value","size","_this$$container2","getComputedStyle","maxWidth","Number","parseInt","getPropertyValue","maxHeight","concat","getContainerProps","_this$asProps2","onScroll","uid","id","$refInner","handleScrollContainer","getBarProps","_this$asProps3","componentDidMount","_this$$inner","$inner","_this$observer","observe","_this$observer2","addEventListener","handleFocusIn","componentDidUpdate","componentWillUnmount","_this$observer3","_this$$inner2","disconnect","removeEventListener","render","_ref","_ref3","SScrollArea","SShadowVertical","SShadowHorizontal","_this$asProps4","Children","styles","tabIndex","forcedAdvancedMode","_this$state","state","advancedMode","isAdvanceMode","ScrollArea","Container","displayName","Bar","cn","_objectSpread2","assignProps","refWrapper","handleScroll","Fragment","Component","uniqueIDEnhancement","keyboardFocusEnhance","ContainerRoot","_ref2","arguments[0]","_ref4","SContainer","enhance","createComponent","BarRoot","_default"],"sources":["../../src/ScrollArea.jsx"],"sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport { getNodeByRef } from '@semcore/utils/lib/ref';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport BarRoot, { setAreaValue } from './ScrollBar';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\n\nimport style from './style/scroll-area.shadow.css';\n\nlet eventCalculate = undefined;\nif (typeof window !== 'undefined') {\n eventCalculate = new Event('calculate');\n}\n\nconst BoxWithoutPosition = React.forwardRef(({ position, ...props }, ref) => (\n <Box ref={ref} {...props} />\n));\n\nclass ScrollAreaRoot extends Component {\n static displayName = 'ScrollArea';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), keyboardFocusEnhance()];\n\n static defaultProps = () => ({\n container: React.createRef(),\n inner: React.createRef(),\n tabIndex: 0,\n });\n\n $wrapper = null;\n observer = null;\n horizontalBarRef = React.createRef();\n verticalBarRef = React.createRef();\n\n get $container() {\n return getNodeByRef(this.asProps.container);\n }\n\n get $inner() {\n return getNodeByRef(this.asProps.inner);\n }\n\n state = {\n shadowHorizontal: false,\n shadowVertical: false,\n };\n\n constructor(props) {\n super(props);\n\n if (canUseDOM()) {\n this.observer = new ResizeObserver(callAllEventHandlers(props.onResize, this.calculate));\n }\n }\n\n refWrapper = (node) => {\n this.$wrapper = findDOMNode(node);\n };\n\n // for max height/width\n calculateSizeContainer() {\n const size = { width: '', height: '' };\n if (!this.$container || !this.$wrapper) return size;\n const { scrollWidth, scrollHeight } = this.$container;\n const style = window.getComputedStyle(this.$wrapper);\n const maxWidth = Number.parseInt(style.getPropertyValue('max-width'));\n const maxHeight = Number.parseInt(style.getPropertyValue('max-height'));\n\n if (maxWidth) {\n if (scrollWidth > maxWidth) {\n size.width = `${maxWidth}px`;\n } else {\n size.width = '100%';\n }\n }\n\n if (maxHeight) {\n if (scrollHeight > maxHeight) {\n size.height = `${maxHeight}px`;\n } else {\n size.height = '100%';\n }\n }\n\n return size;\n }\n\n calculate = trottle(() => {\n if (!this.$container) return;\n\n const { height, width } = this.calculateSizeContainer();\n if (height) this.$container.style.height = height;\n if (width) this.$container.style.width = width;\n this.$container.dispatchEvent(eventCalculate);\n this.setShadowContainer();\n });\n\n updateBarsAria = trottle(() => {\n setAreaValue(this.$container, this.horizontalBarRef.current, this.verticalBarRef.current);\n });\n\n handleScrollContainer = trottle(() => {\n if (!this.$container) return;\n this.setShadowContainer();\n this.updateBarsAria();\n });\n\n // FIX Chrome bug, when focus state on hide control\n handleScroll = (e) => {\n if (e.target?.isEqualNode(this.$wrapper)) {\n e.target.scrollTop = 0;\n e.target.scrollLeft = 0;\n }\n };\n\n handleFocusIn = (e) => {\n setTimeout(() => {\n const { keyboardFocused, leftOffset, rightOffset, topOffset, bottomOffset } = this.asProps;\n\n if (this.$container && typeof this.$container.scrollTo === 'function') {\n const viewPort = this.$container.getBoundingClientRect();\n const element = e.target.getBoundingClientRect();\n\n const offset = {\n top: topOffset ?? 0,\n left: leftOffset ?? 0,\n right: rightOffset ?? 0,\n bottom: bottomOffset ?? 0,\n };\n\n if (viewPort) {\n const outOfViewport =\n Math.floor(element.top) >= viewPort.bottom - offset.bottom ||\n Math.floor(element.bottom) <= viewPort.top + offset.top ||\n Math.floor(element.left) >= viewPort.right - offset.right ||\n Math.floor(element.right) <= viewPort.left + offset.left;\n\n if (outOfViewport && keyboardFocused) {\n this.$container.scrollTo({\n top: element.top + this.$container.scrollTop - offset.top - viewPort.top,\n left: element.left + this.$container.scrollLeft - offset.left - viewPort.left,\n });\n }\n }\n }\n }, 0);\n };\n\n toggleShadow = (scroll, maxScroll, orientation) => {\n const roundedScroll = Math.round(scroll);\n const roundedMaxScroll = Math.round(maxScroll);\n let shadow = '';\n // not scroll\n if (roundedMaxScroll <= 0) {\n // start scroll\n } else if (roundedScroll <= 0) {\n shadow = 'end';\n // end scroll\n } else if (roundedScroll >= roundedMaxScroll) {\n shadow = 'start';\n // median scroll\n } else if (roundedScroll > 0) {\n shadow = 'median';\n }\n this.setState({\n [orientation]: shadow,\n });\n };\n\n setShadowContainer = () => {\n if (!this.asProps.shadow || !this.$container || !this.$wrapper) return;\n\n const { scrollWidth, clientWidth, scrollHeight, clientHeight, scrollLeft, scrollTop } =\n this.$container;\n const maxScrollRight = scrollWidth - clientWidth;\n const maxScrollBottom = scrollHeight - clientHeight;\n\n this.toggleShadow(scrollLeft, maxScrollRight, 'shadowHorizontal');\n this.toggleShadow(scrollTop, maxScrollBottom, 'shadowVertical');\n };\n\n getContainerProps() {\n const { container, inner, onScroll, uid } = this.asProps;\n return {\n id: `igc-${uid}-scroll-container`,\n ref: container,\n $refInner: inner,\n onScroll: callAllEventHandlers(onScroll, this.handleScrollContainer),\n };\n }\n\n getBarProps() {\n const { container, orientation, uid, leftOffset, rightOffset } = this.asProps;\n\n return {\n container,\n orientation,\n uid,\n horizontalBarRef: this.horizontalBarRef,\n verticalBarRef: this.verticalBarRef,\n leftOffset,\n rightOffset,\n };\n }\n\n componentDidMount() {\n this.calculate();\n this.updateBarsAria();\n if (this.$inner) {\n this.observer?.observe(this.$inner);\n }\n if (this.$container) {\n this.observer?.observe(this.$container);\n }\n\n this.$inner?.addEventListener('focusin', this.handleFocusIn);\n }\n\n componentDidUpdate() {\n this.calculate();\n }\n\n componentWillUnmount() {\n this.observer?.disconnect();\n this.$inner?.removeEventListener('focusin', this.handleFocusIn);\n }\n\n render() {\n const SScrollArea = Root;\n const SShadowVertical = BoxWithoutPosition;\n const SShadowHorizontal = BoxWithoutPosition;\n const {\n Children,\n styles,\n orientation,\n tabIndex,\n forcedAdvancedMode,\n leftOffset,\n rightOffset,\n topOffset,\n bottomOffset,\n } = this.asProps;\n const { shadowVertical, shadowHorizontal } = this.state;\n\n const advancedMode =\n forcedAdvancedMode ||\n isAdvanceMode(Children, [ScrollArea.Container.displayName, ScrollArea.Bar.displayName]);\n\n return sstyled(styles)(\n <SScrollArea\n render={Box}\n ref={this.refWrapper}\n onScroll={this.handleScroll}\n __excludeProps={['tabIndex']}\n >\n {advancedMode ? (\n <Children />\n ) : (\n <>\n <ScrollArea.Container tabIndex={tabIndex}>\n <Children />\n </ScrollArea.Container>\n {(orientation === undefined || orientation === 'horizontal') && (\n <ScrollArea.Bar orientation='horizontal' />\n )}\n {(orientation === undefined || orientation === 'vertical') && (\n <ScrollArea.Bar orientation='vertical' />\n )}\n </>\n )}\n {shadowVertical && (\n <SShadowVertical\n position={shadowVertical}\n topOffset={topOffset ? `${topOffset}px` : undefined}\n bottomOffset={bottomOffset ? `${bottomOffset}px` : undefined}\n />\n )}\n {shadowHorizontal && (\n <SShadowHorizontal\n position={shadowHorizontal}\n leftOffset={leftOffset ? `${leftOffset}px` : undefined}\n rightOffset={rightOffset ? `${rightOffset}px` : undefined}\n />\n )}\n </SScrollArea>,\n );\n }\n}\n\nfunction ContainerRoot(props) {\n const SContainer = Root;\n const { Children, styles, $refInner } = props;\n return sstyled(styles)(\n <SContainer render={Box} tabIndex={0}>\n <div ref={$refInner}>\n <Children />\n </div>\n </SContainer>,\n );\n}\n\nContainerRoot.enhance = [keyboardFocusEnhance()];\n\nconst ScrollArea = createComponent(ScrollAreaRoot, {\n Container: ContainerRoot,\n Bar: BarRoot,\n});\n\n// TODO: remove named ScrollArea export\nexport { eventCalculate, ScrollArea };\nexport default ScrollArea;\n"],"mappings":"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"}
|
@@ -20,11 +20,12 @@ var _reactDom = require("react-dom");
|
|
20
20
|
var _flexBox = require("intergalactic/flex-box");
|
21
21
|
var _ref5 = require("intergalactic/utils/lib/ref");
|
22
22
|
/*__reshadow-styles__:"./style/scroll-bar.shadow.css"*/
|
23
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
24
|
-
"__SScrollBar": "
|
25
|
-
"_orientation_vertical": "
|
26
|
-
"
|
27
|
-
"
|
23
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SScrollBar_aslq8_gg_{position:absolute;display:flex}.___SScrollBar_aslq8_gg_._orientation_vertical_aslq8_gg_{top:var(--intergalactic-spacing-1x, 4px);right:0;width:8px;height:calc(100% - var(--offsetSum_aslq8) - var(--intergalactic-spacing-2x, 8px));justify-content:center}.___SScrollBar_aslq8_gg_._orientation_horizontal_aslq8_gg_{bottom:0;height:12px;align-items:center;width:calc(100% - var(--offsetSum_aslq8) - var(--intergalactic-spacing-2x, 8px))}.___SSlider_aslq8_gg_{cursor:pointer;width:6px;height:6px;border-radius:4px;background-color:var(--intergalactic-scroll-bar-background, rgba(25, 27, 35, 0.3))}" /*__inner_css_end__*/, "aslq8_gg_") /*__reshadow_css_end__*/, {
|
24
|
+
"__SScrollBar": "___SScrollBar_aslq8_gg_",
|
25
|
+
"_orientation_vertical": "_orientation_vertical_aslq8_gg_",
|
26
|
+
"--offsetSum": "--offsetSum_aslq8",
|
27
|
+
"_orientation_horizontal": "_orientation_horizontal_aslq8_gg_",
|
28
|
+
"__SSlider": "___SSlider_aslq8_gg_"
|
28
29
|
});
|
29
30
|
var DEFAULT_SLIDER_SIZE = 50;
|
30
31
|
|
@@ -348,12 +349,56 @@ var ScrollBarRoot = /*#__PURE__*/function (_Component) {
|
|
348
349
|
var SScrollBar = _flexBox.Box;
|
349
350
|
var _this$asProps2 = this.asProps,
|
350
351
|
styles = _this$asProps2.styles,
|
351
|
-
uid = _this$asProps2.uid
|
352
|
+
uid = _this$asProps2.uid,
|
353
|
+
position = _this$asProps2.position,
|
354
|
+
container = _this$asProps2.container,
|
355
|
+
orientation = _this$asProps2.orientation;
|
352
356
|
var visibleScroll = this.state.visibleScroll;
|
357
|
+
var _this$asProps3 = this.asProps,
|
358
|
+
leftOffset = _this$asProps3.leftOffset,
|
359
|
+
rightOffset = _this$asProps3.rightOffset,
|
360
|
+
topOffset = _this$asProps3.topOffset,
|
361
|
+
bottomOffset = _this$asProps3.bottomOffset;
|
353
362
|
if (!visibleScroll) {
|
354
363
|
return null;
|
355
364
|
}
|
365
|
+
var offsetSum = 0;
|
366
|
+
if (orientation === 'horizontal') {
|
367
|
+
if (leftOffset) offsetSum += leftOffset;
|
368
|
+
if (rightOffset) offsetSum += rightOffset;
|
369
|
+
if (position === 'sticky' && container.current) {
|
370
|
+
var _container$current$ge = container.current.getBoundingClientRect(),
|
371
|
+
left = _container$current$ge.left,
|
372
|
+
right = _container$current$ge.right;
|
373
|
+
if (leftOffset) {
|
374
|
+
leftOffset += left;
|
375
|
+
}
|
376
|
+
if (rightOffset) {
|
377
|
+
rightOffset += right;
|
378
|
+
}
|
379
|
+
}
|
380
|
+
}
|
381
|
+
if (orientation === 'vertical') {
|
382
|
+
if (topOffset) offsetSum += topOffset;
|
383
|
+
if (bottomOffset) offsetSum += bottomOffset;
|
384
|
+
if (position === 'sticky' && container.current) {
|
385
|
+
var _container$current$ge2 = container.current.getBoundingClientRect(),
|
386
|
+
top = _container$current$ge2.top,
|
387
|
+
bottom = _container$current$ge2.bottom;
|
388
|
+
if (topOffset) {
|
389
|
+
topOffset += top;
|
390
|
+
}
|
391
|
+
if (bottomOffset) {
|
392
|
+
bottomOffset += bottom;
|
393
|
+
}
|
394
|
+
}
|
395
|
+
}
|
356
396
|
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SScrollBar, _ref3.cn("SScrollBar", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
397
|
+
"left": orientation === 'horizontal' && leftOffset ? "".concat(leftOffset, "px") : undefined,
|
398
|
+
"right": orientation === 'horizontal' && rightOffset ? "".concat(rightOffset, "px") : undefined,
|
399
|
+
"top": orientation === 'vertical' && topOffset ? "".concat(topOffset, "px") : undefined,
|
400
|
+
"bottom": orientation === 'vertical' && bottomOffset ? "".concat(bottomOffset, "px") : undefined,
|
401
|
+
"offsetSum": "".concat(offsetSum, "px"),
|
357
402
|
"role": 'scrollbar',
|
358
403
|
"ref": this.refBar,
|
359
404
|
"aria-valuemin": 0,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ScrollBar.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_reactDom","_flexBox","_ref5","style","sstyled","insert","DEFAULT_SLIDER_SIZE","exports","setAriaValues","$container","$horizontalBar","$verticalBar","scrollWidth","clientWidth","scrollHeight","clientHeight","scrollLeft","scrollTop","maxScrollRight","maxScrollBottom","setAttribute","Math","floor","setAreaValue","ScrollBarRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","width","height","x","y","left","top","pageX","pageY","visibleScroll","node","domNode","findDOMNode","$bar","orientation","getOrientation","_this$asProps","asProps","horizontalBarRef","verticalBarRef","current","$slider","calculateVisibleScroll","setState","sliderStyle","calculateSliderStyle","kefBar","calculateKefBar","kefScroll","calculateKefScroll","handleScroll","_this$$container","transform","e","preventDefault","_this$_scroll","_scroll","_this$kefScroll","calculateScrollByDiff","_mouse","document","removeEventListener","handleMouseMoveDocument","handleMouseUpDocument","handleSelectStartDocument","stopPropagation","_this$$container2","addEventListener","_window","window","pageXOffset","pageYOffset","_this$$bar$getBoundin","getBoundingClientRect","calculateScrollByClick","_createClass2","key","get","getNodeByRef","container","value","_this$calculateOrient","calculateOrientation","_this$calculateOrient2","_slicedToArray2","horizontal","vertical","_this$$container3","_this$$bar","clientWidthBar","clientHeightBar","_this$sliderStyle","_this$$bar2","_this$sliderStyle2","_this$$bar3","_this$$container4","calculateDimensions","visibleSize","totalSize","ratio","min","round","max","position","windowOffset","mouseOffset","barPage","scroll","oldMouseOffset","oldScroll","offsetMouse","_this$$container5","undefined","_this$calculateOrient3","_this$calculateOrient4","subscribe","$node","calculate","unsubscribe","getSliderProps","ref","refSlider","onMouseDown","handleMouseDownSlider","componentDidMount","componentWillUnmount","render","_ref","_ref3","SScrollBar","Box","_this$asProps2","styles","uid","state","createElement","cn","_objectSpread2","assignProps","refBar","handleMouseDownBar","Component","React","createRef","children","ScrollBar","Slider","props","_ref2","arguments[0]","_ref4","SSlider","onDragStart","createComponent","_default"],"sources":["../../src/ScrollBar.jsx"],"sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { getNodeByRef } from '@semcore/utils/lib/ref';\n\nimport style from './style/scroll-bar.shadow.css';\n\nexport const DEFAULT_SLIDER_SIZE = 50;\n\n// updating DOM directly to avoid react dom rerendering and reconciliation\nconst setAriaValues = ($container, $horizontalBar, $verticalBar) => {\n if (!$container || !($horizontalBar || $verticalBar)) return;\n const { scrollWidth, clientWidth, scrollHeight, clientHeight, scrollLeft, scrollTop } =\n $container;\n const maxScrollRight = scrollWidth - clientWidth;\n const maxScrollBottom = scrollHeight - clientHeight;\n if ($horizontalBar) {\n $horizontalBar.setAttribute('aria-valuenow', Math.floor(scrollLeft));\n $horizontalBar.setAttribute('aria-valuemax', maxScrollRight);\n }\n if ($verticalBar) {\n $verticalBar.setAttribute('aria-valuenow', Math.floor(scrollTop));\n $verticalBar.setAttribute('aria-valuemax', maxScrollBottom);\n }\n};\n\nclass ScrollBarRoot extends Component {\n static displayName = 'Bar';\n\n static style = style;\n\n static defaultProps = () => {\n return {\n container: React.createRef(),\n children: <ScrollBar.Slider />,\n };\n };\n\n $bar = null;\n $slider = null;\n\n sliderStyle = { width: DEFAULT_SLIDER_SIZE, height: DEFAULT_SLIDER_SIZE };\n\n kefScroll = { x: 0, y: 0 };\n kefBar = { x: 0, y: 0 };\n\n _scroll = { left: 0, top: 0 };\n _mouse = { pageX: 0, pageY: 0 };\n\n state = {\n visibleScroll: false,\n };\n\n get $container() {\n return getNodeByRef(this.asProps.container);\n }\n\n refBar = (node) => {\n const domNode = findDOMNode(node);\n this.$bar = domNode;\n const orientation = this.getOrientation();\n const { horizontalBarRef, verticalBarRef } = this.asProps;\n if (orientation === 'horizontal' && horizontalBarRef) horizontalBarRef.current = domNode;\n if (orientation === 'vertical' && verticalBarRef) verticalBarRef.current = domNode;\n\n setAriaValues(this.$container, horizontalBarRef?.current, verticalBarRef?.current);\n };\n\n refSlider = (node) => {\n this.$slider = findDOMNode(node);\n };\n\n calculateVisibleScroll() {\n const orientation = this.getOrientation();\n const [horizontal, vertical] = this.calculateOrientation();\n\n if (horizontal && orientation === 'horizontal') {\n return true;\n } else if (vertical && orientation === 'vertical') {\n return true;\n }\n\n return false;\n }\n\n calculateKefScroll() {\n const { clientWidth, clientHeight, scrollWidth, scrollHeight } = this.$container;\n const { clientWidth: clientWidthBar, clientHeight: clientHeightBar } = this.$bar;\n const { width, height } = this.sliderStyle;\n return {\n x: (clientWidthBar - width) / (scrollWidth - clientWidth),\n y: (clientHeightBar - height) / (scrollHeight - clientHeight),\n };\n }\n\n calculateKefBar() {\n const { clientWidth, clientHeight } = this.$bar;\n const { width, height } = this.sliderStyle;\n return {\n x: (clientWidth - width) / clientWidth,\n y: (clientHeight - height) / clientHeight,\n };\n }\n\n calculateSliderStyle() {\n const { clientWidth, clientHeight } = this.$bar;\n const { scrollWidth, scrollHeight } = this.$container;\n\n const calculateDimensions = (visibleSize, totalSize) => {\n const ratio = Math.min(visibleSize / totalSize, 1); // percentage of visible area\n return Math.round(visibleSize * ratio);\n };\n\n return {\n width: Math.max(calculateDimensions(clientWidth, scrollWidth), DEFAULT_SLIDER_SIZE),\n height: Math.max(calculateDimensions(clientHeight, scrollHeight), DEFAULT_SLIDER_SIZE),\n };\n }\n\n calculateScrollByClick(position, windowOffset, mouseOffset, kefBar, kefScroll) {\n // bar coordinates relative to the page\n const barPage = position + windowOffset;\n\n // click coordinates - bar coordinates * proportion\n const scroll = (mouseOffset - barPage) * kefBar;\n\n return scroll / kefScroll;\n }\n\n calculateScrollByDiff(mouseOffset, oldMouseOffset, oldScroll, kefScroll) {\n // mouse offset (new coordinates - old coordinates)\n const offsetMouse = mouseOffset - oldMouseOffset;\n\n // old scroll position * scroll ratio + offset\n const scroll = oldScroll * kefScroll + offsetMouse;\n\n return scroll / kefScroll;\n }\n\n calculateOrientation() {\n if (!this.$container) return [false, false];\n const { scrollWidth, scrollHeight, clientWidth, clientHeight } = this.$container;\n return [scrollWidth > clientWidth, scrollHeight > clientHeight];\n }\n\n calculate = () => {\n if (!this.$container) return;\n\n const visibleScroll = this.calculateVisibleScroll();\n\n this.setState({ visibleScroll }, () => {\n if (!this.$container || !this.$bar || !this.$slider) return;\n const orientation = this.getOrientation();\n\n this.sliderStyle = this.calculateSliderStyle();\n this.kefBar = this.calculateKefBar();\n this.kefScroll = this.calculateKefScroll();\n\n if (orientation === 'horizontal') {\n this.$slider.style.width = `${this.sliderStyle.width}px`;\n } else if (orientation === 'vertical') {\n this.$slider.style.height = `${this.sliderStyle.height}px`;\n }\n this.handleScroll();\n });\n };\n\n handleScroll = () => {\n if (!this.$container || !this.$slider) return;\n\n const { scrollTop, scrollLeft } = this.$container;\n const orientation = this.getOrientation();\n\n if (orientation === 'horizontal') {\n this.$slider.style.transform = `translateX(${scrollLeft * this.kefScroll.x}px)`;\n } else if (orientation === 'vertical') {\n this.$slider.style.transform = `translateY(${scrollTop * this.kefScroll.y}px)`;\n }\n };\n\n getOrientation() {\n if (this.asProps.orientation !== undefined) return this.asProps.orientation;\n const [horizontal, vertical] = this.calculateOrientation();\n if (vertical) return 'vertical';\n if (horizontal) return 'horizontal';\n }\n\n handleSelectStartDocument = (e) => e.preventDefault();\n\n handleMouseMoveDocument = (e) => {\n const { pageX, pageY } = e;\n const { left, top } = this._scroll;\n const { x, y } = this.kefScroll;\n const orientation = this.getOrientation();\n\n if (orientation === 'horizontal') {\n this.$container.scrollLeft = this.calculateScrollByDiff(pageX, this._mouse.pageX, left, x);\n } else if (orientation === 'vertical') {\n this.$container.scrollTop = this.calculateScrollByDiff(pageY, this._mouse.pageY, top, y);\n }\n };\n\n handleMouseUpDocument = () => {\n document.removeEventListener('mousemove', this.handleMouseMoveDocument, true);\n document.removeEventListener('mouseup', this.handleMouseUpDocument, true);\n document.removeEventListener('selectstart', this.handleSelectStartDocument, true);\n };\n\n handleMouseDownSlider = (e) => {\n // canceling the emergence of a real scroll\n e.stopPropagation();\n // save mouse coordinates (relative to the page)\n this._mouse = { pageX: e.pageX, pageY: e.pageY };\n // save the scroll of the container\n // TODO: what happens if the content increases while we scroll?\n const { scrollLeft, scrollTop } = this.$container;\n this._scroll = { left: scrollLeft, top: scrollTop };\n\n document.addEventListener('mousemove', this.handleMouseMoveDocument, true);\n document.addEventListener('mouseup', this.handleMouseUpDocument, true);\n document.addEventListener('selectstart', this.handleSelectStartDocument, true);\n };\n\n handleMouseDownBar = (e) => {\n // cancellation of the ascent as in a real scroll\n e.stopPropagation();\n\n const { pageX, pageY } = e;\n const { pageXOffset, pageYOffset } = window;\n const { left, top } = this.$bar.getBoundingClientRect();\n const orientation = this.getOrientation();\n\n if (orientation === 'horizontal') {\n this.$container.scrollLeft = this.calculateScrollByClick(\n left,\n pageXOffset,\n pageX,\n this.kefBar.x,\n this.kefScroll.x,\n );\n } else if (orientation === 'vertical') {\n this.$container.scrollTop = this.calculateScrollByClick(\n top,\n pageYOffset,\n pageY,\n this.kefBar.y,\n this.kefScroll.y,\n );\n }\n };\n\n subscribe($node) {\n if (!$node) return;\n $node.addEventListener('scroll', this.handleScroll);\n $node.addEventListener('calculate', this.calculate);\n }\n\n unsubscribe($node) {\n if (!$node) return;\n $node.removeEventListener('scroll', this.handleScroll);\n $node.removeEventListener('calculate', this.calculate);\n }\n\n getSliderProps() {\n return {\n ref: this.refSlider,\n onMouseDown: this.handleMouseDownSlider,\n };\n }\n\n componentDidMount() {\n this.subscribe(this.$container);\n }\n\n componentWillUnmount() {\n this.unsubscribe(this.$container);\n }\n\n render() {\n const SScrollBar = Root;\n const { styles, uid } = this.asProps;\n const { visibleScroll } = this.state;\n\n if (!visibleScroll) {\n return null;\n }\n\n return sstyled(styles)(\n <SScrollBar\n render={Box}\n role='scrollbar'\n ref={this.refBar}\n aria-valuemin={0}\n aria-controls={`igc-${uid}-scroll-container`}\n aria-orientation={this.getOrientation()}\n onMouseDown={this.handleMouseDownBar}\n orientation={this.getOrientation()}\n />,\n );\n }\n}\n\nfunction Slider(props) {\n const { styles } = props;\n const SSlider = Root;\n\n return sstyled(styles)(<SSlider render={Box} onDragStart={() => false} />);\n}\n\nconst ScrollBar = createComponent(ScrollBarRoot, {\n Slider,\n});\n\nexport { setAriaValues as setAreaValue };\nexport default ScrollBar;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ScrollBar.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_reactDom","_flexBox","_ref5","style","sstyled","insert","DEFAULT_SLIDER_SIZE","exports","setAriaValues","$container","$horizontalBar","$verticalBar","scrollWidth","clientWidth","scrollHeight","clientHeight","scrollLeft","scrollTop","maxScrollRight","maxScrollBottom","setAttribute","Math","floor","setAreaValue","ScrollBarRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","width","height","x","y","left","top","pageX","pageY","visibleScroll","node","domNode","findDOMNode","$bar","orientation","getOrientation","_this$asProps","asProps","horizontalBarRef","verticalBarRef","current","$slider","calculateVisibleScroll","setState","sliderStyle","calculateSliderStyle","kefBar","calculateKefBar","kefScroll","calculateKefScroll","handleScroll","_this$$container","transform","e","preventDefault","_this$_scroll","_scroll","_this$kefScroll","calculateScrollByDiff","_mouse","document","removeEventListener","handleMouseMoveDocument","handleMouseUpDocument","handleSelectStartDocument","stopPropagation","_this$$container2","addEventListener","_window","window","pageXOffset","pageYOffset","_this$$bar$getBoundin","getBoundingClientRect","calculateScrollByClick","_createClass2","key","get","getNodeByRef","container","value","_this$calculateOrient","calculateOrientation","_this$calculateOrient2","_slicedToArray2","horizontal","vertical","_this$$container3","_this$$bar","clientWidthBar","clientHeightBar","_this$sliderStyle","_this$$bar2","_this$sliderStyle2","_this$$bar3","_this$$container4","calculateDimensions","visibleSize","totalSize","ratio","min","round","max","position","windowOffset","mouseOffset","barPage","scroll","oldMouseOffset","oldScroll","offsetMouse","_this$$container5","undefined","_this$calculateOrient3","_this$calculateOrient4","subscribe","$node","calculate","unsubscribe","getSliderProps","ref","refSlider","onMouseDown","handleMouseDownSlider","componentDidMount","componentWillUnmount","render","_ref","_ref3","SScrollBar","Box","_this$asProps2","styles","uid","state","_this$asProps3","leftOffset","rightOffset","topOffset","bottomOffset","offsetSum","_container$current$ge","right","_container$current$ge2","bottom","createElement","cn","_objectSpread2","assignProps","refBar","handleMouseDownBar","Component","React","createRef","children","ScrollBar","Slider","props","_ref2","arguments[0]","_ref4","SSlider","onDragStart","createComponent","_default"],"sources":["../../src/ScrollBar.jsx"],"sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { getNodeByRef } from '@semcore/utils/lib/ref';\n\nimport style from './style/scroll-bar.shadow.css';\n\nexport const DEFAULT_SLIDER_SIZE = 50;\n\n// updating DOM directly to avoid react dom rerendering and reconciliation\nconst setAriaValues = ($container, $horizontalBar, $verticalBar) => {\n if (!$container || !($horizontalBar || $verticalBar)) return;\n const { scrollWidth, clientWidth, scrollHeight, clientHeight, scrollLeft, scrollTop } =\n $container;\n const maxScrollRight = scrollWidth - clientWidth;\n const maxScrollBottom = scrollHeight - clientHeight;\n if ($horizontalBar) {\n $horizontalBar.setAttribute('aria-valuenow', Math.floor(scrollLeft));\n $horizontalBar.setAttribute('aria-valuemax', maxScrollRight);\n }\n if ($verticalBar) {\n $verticalBar.setAttribute('aria-valuenow', Math.floor(scrollTop));\n $verticalBar.setAttribute('aria-valuemax', maxScrollBottom);\n }\n};\n\nclass ScrollBarRoot extends Component {\n static displayName = 'Bar';\n\n static style = style;\n\n static defaultProps = () => {\n return {\n container: React.createRef(),\n children: <ScrollBar.Slider />,\n };\n };\n\n $bar = null;\n $slider = null;\n\n sliderStyle = { width: DEFAULT_SLIDER_SIZE, height: DEFAULT_SLIDER_SIZE };\n\n kefScroll = { x: 0, y: 0 };\n kefBar = { x: 0, y: 0 };\n\n _scroll = { left: 0, top: 0 };\n _mouse = { pageX: 0, pageY: 0 };\n\n state = {\n visibleScroll: false,\n };\n\n get $container() {\n return getNodeByRef(this.asProps.container);\n }\n\n refBar = (node) => {\n const domNode = findDOMNode(node);\n this.$bar = domNode;\n const orientation = this.getOrientation();\n const { horizontalBarRef, verticalBarRef } = this.asProps;\n if (orientation === 'horizontal' && horizontalBarRef) horizontalBarRef.current = domNode;\n if (orientation === 'vertical' && verticalBarRef) verticalBarRef.current = domNode;\n\n setAriaValues(this.$container, horizontalBarRef?.current, verticalBarRef?.current);\n };\n\n refSlider = (node) => {\n this.$slider = findDOMNode(node);\n };\n\n calculateVisibleScroll() {\n const orientation = this.getOrientation();\n const [horizontal, vertical] = this.calculateOrientation();\n\n if (horizontal && orientation === 'horizontal') {\n return true;\n } else if (vertical && orientation === 'vertical') {\n return true;\n }\n\n return false;\n }\n\n calculateKefScroll() {\n const { clientWidth, clientHeight, scrollWidth, scrollHeight } = this.$container;\n const { clientWidth: clientWidthBar, clientHeight: clientHeightBar } = this.$bar;\n const { width, height } = this.sliderStyle;\n return {\n x: (clientWidthBar - width) / (scrollWidth - clientWidth),\n y: (clientHeightBar - height) / (scrollHeight - clientHeight),\n };\n }\n\n calculateKefBar() {\n const { clientWidth, clientHeight } = this.$bar;\n const { width, height } = this.sliderStyle;\n return {\n x: (clientWidth - width) / clientWidth,\n y: (clientHeight - height) / clientHeight,\n };\n }\n\n calculateSliderStyle() {\n const { clientWidth, clientHeight } = this.$bar;\n const { scrollWidth, scrollHeight } = this.$container;\n\n const calculateDimensions = (visibleSize, totalSize) => {\n const ratio = Math.min(visibleSize / totalSize, 1); // percentage of visible area\n return Math.round(visibleSize * ratio);\n };\n\n return {\n width: Math.max(calculateDimensions(clientWidth, scrollWidth), DEFAULT_SLIDER_SIZE),\n height: Math.max(calculateDimensions(clientHeight, scrollHeight), DEFAULT_SLIDER_SIZE),\n };\n }\n\n calculateScrollByClick(position, windowOffset, mouseOffset, kefBar, kefScroll) {\n // bar coordinates relative to the page\n const barPage = position + windowOffset;\n\n // click coordinates - bar coordinates * proportion\n const scroll = (mouseOffset - barPage) * kefBar;\n\n return scroll / kefScroll;\n }\n\n calculateScrollByDiff(mouseOffset, oldMouseOffset, oldScroll, kefScroll) {\n // mouse offset (new coordinates - old coordinates)\n const offsetMouse = mouseOffset - oldMouseOffset;\n\n // old scroll position * scroll ratio + offset\n const scroll = oldScroll * kefScroll + offsetMouse;\n\n return scroll / kefScroll;\n }\n\n calculateOrientation() {\n if (!this.$container) return [false, false];\n const { scrollWidth, scrollHeight, clientWidth, clientHeight } = this.$container;\n return [scrollWidth > clientWidth, scrollHeight > clientHeight];\n }\n\n calculate = () => {\n if (!this.$container) return;\n\n const visibleScroll = this.calculateVisibleScroll();\n\n this.setState({ visibleScroll }, () => {\n if (!this.$container || !this.$bar || !this.$slider) return;\n const orientation = this.getOrientation();\n\n this.sliderStyle = this.calculateSliderStyle();\n this.kefBar = this.calculateKefBar();\n this.kefScroll = this.calculateKefScroll();\n\n if (orientation === 'horizontal') {\n this.$slider.style.width = `${this.sliderStyle.width}px`;\n } else if (orientation === 'vertical') {\n this.$slider.style.height = `${this.sliderStyle.height}px`;\n }\n this.handleScroll();\n });\n };\n\n handleScroll = () => {\n if (!this.$container || !this.$slider) return;\n\n const { scrollTop, scrollLeft } = this.$container;\n const orientation = this.getOrientation();\n\n if (orientation === 'horizontal') {\n this.$slider.style.transform = `translateX(${scrollLeft * this.kefScroll.x}px)`;\n } else if (orientation === 'vertical') {\n this.$slider.style.transform = `translateY(${scrollTop * this.kefScroll.y}px)`;\n }\n };\n\n getOrientation() {\n if (this.asProps.orientation !== undefined) return this.asProps.orientation;\n const [horizontal, vertical] = this.calculateOrientation();\n if (vertical) return 'vertical';\n if (horizontal) return 'horizontal';\n }\n\n handleSelectStartDocument = (e) => e.preventDefault();\n\n handleMouseMoveDocument = (e) => {\n const { pageX, pageY } = e;\n const { left, top } = this._scroll;\n const { x, y } = this.kefScroll;\n const orientation = this.getOrientation();\n\n if (orientation === 'horizontal') {\n this.$container.scrollLeft = this.calculateScrollByDiff(pageX, this._mouse.pageX, left, x);\n } else if (orientation === 'vertical') {\n this.$container.scrollTop = this.calculateScrollByDiff(pageY, this._mouse.pageY, top, y);\n }\n };\n\n handleMouseUpDocument = () => {\n document.removeEventListener('mousemove', this.handleMouseMoveDocument, true);\n document.removeEventListener('mouseup', this.handleMouseUpDocument, true);\n document.removeEventListener('selectstart', this.handleSelectStartDocument, true);\n };\n\n handleMouseDownSlider = (e) => {\n // canceling the emergence of a real scroll\n e.stopPropagation();\n // save mouse coordinates (relative to the page)\n this._mouse = { pageX: e.pageX, pageY: e.pageY };\n // save the scroll of the container\n // TODO: what happens if the content increases while we scroll?\n const { scrollLeft, scrollTop } = this.$container;\n this._scroll = { left: scrollLeft, top: scrollTop };\n\n document.addEventListener('mousemove', this.handleMouseMoveDocument, true);\n document.addEventListener('mouseup', this.handleMouseUpDocument, true);\n document.addEventListener('selectstart', this.handleSelectStartDocument, true);\n };\n\n handleMouseDownBar = (e) => {\n // cancellation of the ascent as in a real scroll\n e.stopPropagation();\n\n const { pageX, pageY } = e;\n const { pageXOffset, pageYOffset } = window;\n const { left, top } = this.$bar.getBoundingClientRect();\n const orientation = this.getOrientation();\n\n if (orientation === 'horizontal') {\n this.$container.scrollLeft = this.calculateScrollByClick(\n left,\n pageXOffset,\n pageX,\n this.kefBar.x,\n this.kefScroll.x,\n );\n } else if (orientation === 'vertical') {\n this.$container.scrollTop = this.calculateScrollByClick(\n top,\n pageYOffset,\n pageY,\n this.kefBar.y,\n this.kefScroll.y,\n );\n }\n };\n\n subscribe($node) {\n if (!$node) return;\n $node.addEventListener('scroll', this.handleScroll);\n $node.addEventListener('calculate', this.calculate);\n }\n\n unsubscribe($node) {\n if (!$node) return;\n $node.removeEventListener('scroll', this.handleScroll);\n $node.removeEventListener('calculate', this.calculate);\n }\n\n getSliderProps() {\n return {\n ref: this.refSlider,\n onMouseDown: this.handleMouseDownSlider,\n };\n }\n\n componentDidMount() {\n this.subscribe(this.$container);\n }\n\n componentWillUnmount() {\n this.unsubscribe(this.$container);\n }\n\n render() {\n const SScrollBar = Root;\n const { styles, uid, position, container, orientation } = this.asProps;\n const { visibleScroll } = this.state;\n\n let { leftOffset, rightOffset, topOffset, bottomOffset } = this.asProps;\n\n if (!visibleScroll) {\n return null;\n }\n\n let offsetSum = 0;\n\n if (orientation === 'horizontal') {\n if (leftOffset) offsetSum += leftOffset;\n if (rightOffset) offsetSum += rightOffset;\n\n if (position === 'sticky' && container.current) {\n const { left, right } = container.current.getBoundingClientRect();\n\n if (leftOffset) {\n leftOffset += left;\n }\n\n if (rightOffset) {\n rightOffset += right;\n }\n }\n }\n\n if (orientation === 'vertical') {\n if (topOffset) offsetSum += topOffset;\n if (bottomOffset) offsetSum += bottomOffset;\n\n if (position === 'sticky' && container.current) {\n const { top, bottom } = container.current.getBoundingClientRect();\n\n if (topOffset) {\n topOffset += top;\n }\n\n if (bottomOffset) {\n bottomOffset += bottom;\n }\n }\n }\n\n return sstyled(styles)(\n <SScrollBar\n render={Box}\n left={orientation === 'horizontal' && leftOffset ? `${leftOffset}px` : undefined}\n right={orientation === 'horizontal' && rightOffset ? `${rightOffset}px` : undefined}\n top={orientation === 'vertical' && topOffset ? `${topOffset}px` : undefined}\n bottom={orientation === 'vertical' && bottomOffset ? `${bottomOffset}px` : undefined}\n offsetSum={`${offsetSum}px`}\n role='scrollbar'\n ref={this.refBar}\n aria-valuemin={0}\n aria-controls={`igc-${uid}-scroll-container`}\n aria-orientation={this.getOrientation()}\n onMouseDown={this.handleMouseDownBar}\n orientation={this.getOrientation()}\n />,\n );\n }\n}\n\nfunction Slider(props) {\n const { styles } = props;\n const SSlider = Root;\n\n return sstyled(styles)(<SSlider render={Box} onDragStart={() => false} />);\n}\n\nconst ScrollBar = createComponent(ScrollBarRoot, {\n Slider,\n});\n\nexport { setAriaValues as setAreaValue };\nexport default ScrollBar;\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { NodeByRef } from '@semcore/utils/lib/ref';\n\n/** @deprecated */\nexport interface IScrollAreaProps extends ScrollAreaProps, UnknownProperties {}\nexport type ScrollAreaProps = BoxProps & {\n /** Shadow display on container */\n shadow?: boolean;\n /** Scroll direction */\n orientation?: 'horizontal' | 'vertical';\n /** Link to the dom element, which will be a container with overflow */\n container?: NodeByRef;\n /** Link to the dom element that will be stretched along with the content */\n inner?: NodeByRef;\n /** Callback executed when container change size */\n onResize?: ResizeObserverCallback;\n /** Called every time user scrolls area */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Tab index that is being bypassed to the scroll container. */\n tabIndex?: number | null;\n};\n\n/** @deprecated */\nexport interface IScrollAreaContext extends ScrollAreaContext, UnknownProperties {}\nexport type ScrollAreaContext = ScrollAreaProps & {\n getContainerProps: PropGetterFn;\n getBarProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IScrollBarProps extends ScrollBarProps, UnknownProperties {}\nexport type ScrollBarProps = BoxProps & {\n /** The direction of the scroll that can be calculated automatically */\n orientation?: 'horizontal' | 'vertical';\n /** Link to the dom element, which will be a container with overflow */\n container?: NodeByRef;\n};\n\n/** @deprecated */\nexport interface IScrollBarContext extends ScrollBarContext, UnknownProperties {}\nexport type ScrollBarContext = ScrollBarProps & {\n getSliderProps: PropGetterFn;\n};\n\ndeclare const ScrollBar: Intergalactic.Component<'div', ScrollBarProps, ScrollBarContext> & {\n Slider: typeof Box;\n};\n\ndeclare const ScrollArea: Intergalactic.Component<'div', ScrollAreaProps, ScrollAreaContext> & {\n Container: typeof Box;\n Bar: typeof ScrollBar;\n};\n\ndeclare const eventCalculate: any;\n\nexport { eventCalculate };\nexport default ScrollArea;\n"],"mappings":""}
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { Box, BoxProps } from '@semcore/flex-box';\nimport { NodeByRef } from '@semcore/utils/lib/ref';\n\n/** @deprecated */\nexport interface IScrollAreaProps extends ScrollAreaProps, UnknownProperties {}\nexport type ScrollAreaProps = BoxProps & {\n /** Shadow display on container */\n shadow?: boolean;\n /** Scroll direction */\n orientation?: 'horizontal' | 'vertical';\n /** Link to the dom element, which will be a container with overflow */\n container?: NodeByRef;\n /** Link to the dom element that will be stretched along with the content */\n inner?: NodeByRef;\n /** Callback executed when container change size */\n onResize?: ResizeObserverCallback;\n /** Called every time user scrolls area */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Tab index that is being bypassed to the scroll container. */\n tabIndex?: number | null;\n\n topOffset?: number;\n rightOffset?: number;\n bottomOffset?: number;\n leftOffset?: number;\n};\n\n/** @deprecated */\nexport interface IScrollAreaContext extends ScrollAreaContext, UnknownProperties {}\nexport type ScrollAreaContext = ScrollAreaProps & {\n getContainerProps: PropGetterFn;\n getBarProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IScrollBarProps extends ScrollBarProps, UnknownProperties {}\nexport type ScrollBarProps = BoxProps & {\n /** The direction of the scroll that can be calculated automatically */\n orientation?: 'horizontal' | 'vertical';\n /** Link to the dom element, which will be a container with overflow */\n container?: NodeByRef;\n};\n\n/** @deprecated */\nexport interface IScrollBarContext extends ScrollBarContext, UnknownProperties {}\nexport type ScrollBarContext = ScrollBarProps & {\n getSliderProps: PropGetterFn;\n};\n\ndeclare const ScrollBar: Intergalactic.Component<'div', ScrollBarProps, ScrollBarContext> & {\n Slider: typeof Box;\n};\n\ndeclare const ScrollArea: Intergalactic.Component<'div', ScrollAreaProps, ScrollAreaContext> & {\n Container: typeof Box;\n Bar: typeof ScrollBar;\n};\n\ndeclare const eventCalculate: any;\n\nexport { eventCalculate };\nexport default ScrollArea;\n"],"mappings":""}
|
@@ -13,7 +13,6 @@ SShadowVertical {
|
|
13
13
|
position: absolute;
|
14
14
|
display: none;
|
15
15
|
pointer-events: none;
|
16
|
-
z-index: 1;
|
17
16
|
}
|
18
17
|
}
|
19
18
|
|
@@ -58,6 +57,14 @@ SShadowHorizontal[position='end'] {
|
|
58
57
|
}
|
59
58
|
}
|
60
59
|
|
60
|
+
SShadowHorizontal[leftOffset]:before {
|
61
|
+
left: var(--leftOffset);
|
62
|
+
}
|
63
|
+
|
64
|
+
SShadowHorizontal[rightOffset]:after {
|
65
|
+
right: var(--rightOffset);
|
66
|
+
}
|
67
|
+
|
61
68
|
SShadowVertical {
|
62
69
|
|
63
70
|
&:before,
|
@@ -99,6 +106,14 @@ SShadowVertical[position='end'] {
|
|
99
106
|
}
|
100
107
|
}
|
101
108
|
|
109
|
+
SShadowVertical[topOffset]:before {
|
110
|
+
top: var(--topOffset);
|
111
|
+
}
|
112
|
+
|
113
|
+
SShadowVertical[bottomOffset]:after {
|
114
|
+
bottom: var(--bottomOffset);
|
115
|
+
}
|
116
|
+
|
102
117
|
SContainer {
|
103
118
|
display: block;
|
104
119
|
width: 100%;
|
@@ -127,4 +142,4 @@ SContainer[keyboardFocused]:focus::after {
|
|
127
142
|
box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));
|
128
143
|
pointer-events: none;
|
129
144
|
z-index: 2;
|
130
|
-
}
|
145
|
+
}
|