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.
Files changed (183) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/card/lib/cjs/Card.js +8 -8
  3. package/card/lib/es6/Card.js +8 -8
  4. package/checkbox/lib/cjs/Checkbox.js +18 -18
  5. package/checkbox/lib/es6/Checkbox.js +18 -18
  6. package/components.json +29 -29
  7. package/d3-chart/lib/cjs/Area.js +11 -11
  8. package/d3-chart/lib/cjs/Axis.js +14 -14
  9. package/d3-chart/lib/cjs/Bar.js +10 -10
  10. package/d3-chart/lib/cjs/Bubble.js +12 -12
  11. package/d3-chart/lib/cjs/Donut.js +9 -9
  12. package/d3-chart/lib/cjs/Dots.js +8 -8
  13. package/d3-chart/lib/cjs/HorizontalBar.js +10 -10
  14. package/d3-chart/lib/cjs/Hover.js +3 -3
  15. package/d3-chart/lib/cjs/Line.js +9 -9
  16. package/d3-chart/lib/cjs/Plot.js +3 -3
  17. package/d3-chart/lib/cjs/Radar.js +19 -19
  18. package/d3-chart/lib/cjs/RadialTree.js +11 -11
  19. package/d3-chart/lib/cjs/ReferenceLine.js +9 -9
  20. package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
  21. package/d3-chart/lib/cjs/Tooltip.js +9 -9
  22. package/d3-chart/lib/cjs/Venn.js +9 -9
  23. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  24. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  25. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  26. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  27. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  28. package/d3-chart/lib/es6/Area.js +11 -11
  29. package/d3-chart/lib/es6/Axis.js +14 -14
  30. package/d3-chart/lib/es6/Bar.js +10 -10
  31. package/d3-chart/lib/es6/Bubble.js +12 -12
  32. package/d3-chart/lib/es6/Donut.js +9 -9
  33. package/d3-chart/lib/es6/Dots.js +8 -8
  34. package/d3-chart/lib/es6/HorizontalBar.js +10 -10
  35. package/d3-chart/lib/es6/Hover.js +3 -3
  36. package/d3-chart/lib/es6/Line.js +9 -9
  37. package/d3-chart/lib/es6/Plot.js +3 -3
  38. package/d3-chart/lib/es6/Radar.js +19 -19
  39. package/d3-chart/lib/es6/RadialTree.js +11 -11
  40. package/d3-chart/lib/es6/ReferenceLine.js +9 -9
  41. package/d3-chart/lib/es6/ScatterPlot.js +9 -9
  42. package/d3-chart/lib/es6/Tooltip.js +9 -9
  43. package/d3-chart/lib/es6/Venn.js +9 -9
  44. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  45. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  46. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  47. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  48. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  49. package/data-table/Head.d.ts +0 -1
  50. package/data-table/lib/cjs/Body.js +13 -24
  51. package/data-table/lib/cjs/Body.js.map +1 -1
  52. package/data-table/lib/cjs/DataTable.js +35 -41
  53. package/data-table/lib/cjs/DataTable.js.map +1 -1
  54. package/data-table/lib/cjs/Head.js +7 -21
  55. package/data-table/lib/cjs/Head.js.map +1 -1
  56. package/data-table/lib/cjs/style/data-table.shadow.css +0 -18
  57. package/data-table/lib/es6/Body.js +13 -25
  58. package/data-table/lib/es6/Body.js.map +1 -1
  59. package/data-table/lib/es6/DataTable.js +35 -41
  60. package/data-table/lib/es6/DataTable.js.map +1 -1
  61. package/data-table/lib/es6/Head.js +7 -22
  62. package/data-table/lib/es6/Head.js.map +1 -1
  63. package/data-table/lib/es6/style/data-table.shadow.css +0 -18
  64. package/data-table/lib/types/Head.d.ts +0 -1
  65. package/date-picker/lib/cjs/components/Calendar.js +21 -21
  66. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +26 -26
  67. package/date-picker/lib/cjs/components/InputTrigger.js +26 -26
  68. package/date-picker/lib/cjs/components/PickerAbstract.js +26 -26
  69. package/date-picker/lib/cjs/components/RangePickerAbstract.js +26 -26
  70. package/date-picker/lib/es6/components/Calendar.js +21 -21
  71. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +26 -26
  72. package/date-picker/lib/es6/components/InputTrigger.js +26 -26
  73. package/date-picker/lib/es6/components/PickerAbstract.js +26 -26
  74. package/date-picker/lib/es6/components/RangePickerAbstract.js +26 -26
  75. package/drag-and-drop/lib/cjs/DragAndDrop.js +12 -12
  76. package/drag-and-drop/lib/es6/DragAndDrop.js +12 -12
  77. package/dropdown/lib/cjs/Dropdown.js +2 -2
  78. package/dropdown/lib/es6/Dropdown.js +2 -2
  79. package/dropdown-menu/lib/cjs/DropdownMenu.js +16 -16
  80. package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
  81. package/dropdown-menu/lib/cjs/styleScrollArea.js +6 -6
  82. package/dropdown-menu/lib/es6/DropdownMenu.js +16 -16
  83. package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
  84. package/dropdown-menu/lib/es6/styleScrollArea.js +6 -6
  85. package/ellipsis/lib/cjs/Ellipsis.js +10 -10
  86. package/ellipsis/lib/es6/Ellipsis.js +10 -10
  87. package/errors/lib/cjs/Error.js +9 -9
  88. package/errors/lib/es6/Error.js +9 -9
  89. package/feature-popover/lib/cjs/FeaturePopover.js +10 -10
  90. package/feature-popover/lib/es6/FeaturePopover.js +10 -10
  91. package/feedback-form/lib/cjs/FeedbackForm.js +9 -8
  92. package/feedback-form/lib/cjs/FeedbackForm.js.map +1 -1
  93. package/feedback-form/lib/es6/FeedbackForm.js +9 -8
  94. package/feedback-form/lib/es6/FeedbackForm.js.map +1 -1
  95. package/fullscreen-modal/lib/cjs/FullscreenModal.js +13 -13
  96. package/fullscreen-modal/lib/es6/FullscreenModal.js +13 -13
  97. package/inline-input/index.d.ts +1 -1
  98. package/inline-input/lib/cjs/InlineInput.js +18 -18
  99. package/inline-input/lib/cjs/index.d.js.map +1 -1
  100. package/inline-input/lib/es6/InlineInput.js +18 -18
  101. package/inline-input/lib/es6/index.d.js.map +1 -1
  102. package/inline-input/lib/types/index.d.ts +1 -1
  103. package/input-tags/lib/cjs/InputTags.js +13 -12
  104. package/input-tags/lib/cjs/InputTags.js.map +1 -1
  105. package/input-tags/lib/es6/InputTags.js +13 -12
  106. package/input-tags/lib/es6/InputTags.js.map +1 -1
  107. package/link/lib/cjs/Link.js +12 -12
  108. package/link/lib/es6/Link.js +12 -12
  109. package/modal/lib/cjs/Modal.js +9 -9
  110. package/modal/lib/es6/Modal.js +9 -9
  111. package/notice-bubble/lib/cjs/NoticeBubble.js +13 -14
  112. package/notice-bubble/lib/cjs/NoticeBubble.js.map +1 -1
  113. package/notice-bubble/lib/cjs/style/notice-bubble.shadow.css +8 -4
  114. package/notice-bubble/lib/es6/NoticeBubble.js +13 -14
  115. package/notice-bubble/lib/es6/NoticeBubble.js.map +1 -1
  116. package/notice-bubble/lib/es6/style/notice-bubble.shadow.css +8 -4
  117. package/package.json +3 -3
  118. package/pagination/lib/cjs/Pagination.js +11 -11
  119. package/pagination/lib/cjs/Pagination.js.map +1 -1
  120. package/pagination/lib/es6/Pagination.js +11 -11
  121. package/pagination/lib/es6/Pagination.js.map +1 -1
  122. package/popper/index.d.ts +2 -0
  123. package/popper/lib/cjs/Popper.js +6 -6
  124. package/popper/lib/cjs/index.d.js.map +1 -1
  125. package/popper/lib/cjs/style/popper.shadow.css +2 -1
  126. package/popper/lib/es6/Popper.js +6 -6
  127. package/popper/lib/es6/index.d.js.map +1 -1
  128. package/popper/lib/es6/style/popper.shadow.css +2 -1
  129. package/popper/lib/types/index.d.ts +2 -0
  130. package/radio/lib/cjs/Radio.js +16 -16
  131. package/radio/lib/es6/Radio.js +16 -16
  132. package/scroll-area/index.d.ts +5 -0
  133. package/scroll-area/lib/cjs/ScrollArea.js +79 -48
  134. package/scroll-area/lib/cjs/ScrollArea.js.map +1 -1
  135. package/scroll-area/lib/cjs/ScrollBar.js +51 -6
  136. package/scroll-area/lib/cjs/ScrollBar.js.map +1 -1
  137. package/scroll-area/lib/cjs/index.d.js.map +1 -1
  138. package/scroll-area/lib/cjs/style/scroll-area.shadow.css +17 -2
  139. package/scroll-area/lib/cjs/style/scroll-bar.shadow.css +2 -3
  140. package/scroll-area/lib/es6/ScrollArea.js +79 -48
  141. package/scroll-area/lib/es6/ScrollArea.js.map +1 -1
  142. package/scroll-area/lib/es6/ScrollBar.js +51 -6
  143. package/scroll-area/lib/es6/ScrollBar.js.map +1 -1
  144. package/scroll-area/lib/es6/index.d.js.map +1 -1
  145. package/scroll-area/lib/es6/style/scroll-area.shadow.css +17 -2
  146. package/scroll-area/lib/es6/style/scroll-bar.shadow.css +2 -3
  147. package/scroll-area/lib/types/index.d.ts +5 -0
  148. package/select/lib/cjs/InputSearch.js +6 -6
  149. package/select/lib/cjs/Select.js +48 -36
  150. package/select/lib/cjs/Select.js.map +1 -1
  151. package/select/lib/cjs/style/select.shadow.css +21 -17
  152. package/select/lib/es6/InputSearch.js +6 -6
  153. package/select/lib/es6/Select.js +49 -36
  154. package/select/lib/es6/Select.js.map +1 -1
  155. package/select/lib/es6/style/select.shadow.css +21 -17
  156. package/side-panel/lib/cjs/SidePanel.js +15 -15
  157. package/side-panel/lib/es6/SidePanel.js +15 -15
  158. package/time-picker/lib/cjs/TimePicker.js +12 -12
  159. package/time-picker/lib/es6/TimePicker.js +12 -12
  160. package/tooltip/lib/cjs/Tooltip.js +19 -22
  161. package/tooltip/lib/cjs/Tooltip.js.map +1 -1
  162. package/tooltip/lib/es6/Tooltip.js +19 -22
  163. package/tooltip/lib/es6/Tooltip.js.map +1 -1
  164. package/typography/lib/cjs/Blockquote.js +4 -4
  165. package/typography/lib/cjs/Hint.js +7 -7
  166. package/typography/lib/cjs/List.js +7 -6
  167. package/typography/lib/cjs/List.js.map +1 -1
  168. package/typography/lib/cjs/Text.js +34 -34
  169. package/typography/lib/es6/Blockquote.js +4 -4
  170. package/typography/lib/es6/Hint.js +7 -7
  171. package/typography/lib/es6/List.js +7 -6
  172. package/typography/lib/es6/List.js.map +1 -1
  173. package/typography/lib/es6/Text.js +34 -34
  174. package/widget-empty/lib/cjs/WidgetEmpty.js +6 -6
  175. package/widget-empty/lib/cjs/WidgetEmpty.js.map +1 -1
  176. package/widget-empty/lib/cjs/style/widget-empty.shadow.css +5 -3
  177. package/widget-empty/lib/es6/WidgetEmpty.js +6 -6
  178. package/widget-empty/lib/es6/WidgetEmpty.js.map +1 -1
  179. package/widget-empty/lib/es6/style/widget-empty.shadow.css +5 -3
  180. package/wizard/lib/cjs/Wizard.js +11 -11
  181. package/wizard/lib/es6/Wizard.js +11 -11
  182. package/data-table/lib/cjs/style/scroll-area.shadow.css +0 -7
  183. 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__*/".___SScrollArea_7m8q1_gg_{position:relative;width:100%;height:100%}.___SShadowHorizontal_7m8q1_gg_:after,.___SShadowHorizontal_7m8q1_gg_:before,.___SShadowVertical_7m8q1_gg_:after,.___SShadowVertical_7m8q1_gg_:before{content:\"\";position:absolute;pointer-events:none;z-index:1}.___SShadowHorizontal_7m8q1_gg_:after,.___SShadowHorizontal_7m8q1_gg_:before{top:0;display:block;width:5px;height:100%}.___SShadowHorizontal_7m8q1_gg_._position_median_7m8q1_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_7m8q1_gg_._position_median_7m8q1_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_7m8q1_gg_._position_start_7m8q1_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_7m8q1_gg_._position_end_7m8q1_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%))}.___SShadowVertical_7m8q1_gg_:after,.___SShadowVertical_7m8q1_gg_:before{left:0;display:block;width:100%;height:5px}.___SShadowVertical_7m8q1_gg_._position_median_7m8q1_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_7m8q1_gg_._position_median_7m8q1_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_7m8q1_gg_._position_start_7m8q1_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_7m8q1_gg_._position_end_7m8q1_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%))}.___SContainer_7m8q1_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_7m8q1_gg_::-webkit-scrollbar{display:none}.___SContainer_7m8q1_gg_.__keyboardFocused_7m8q1_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__*/, "7m8q1_gg_") /*__reshadow_css_end__*/, {
33
- "__SScrollArea": "___SScrollArea_7m8q1_gg_",
34
- "__SContainer": "___SContainer_7m8q1_gg_",
35
- "_keyboardFocused": "__keyboardFocused_7m8q1_gg_",
36
- "__SShadowHorizontal": "___SShadowHorizontal_7m8q1_gg_",
37
- "__SShadowVertical": "___SShadowVertical_7m8q1_gg_",
38
- "_position_median": "_position_median_7m8q1_gg_",
39
- "_position_start": "_position_start_7m8q1_gg_",
40
- "_position_end": "_position_end_7m8q1_gg_"
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
- if (typeof e.target.scrollIntoView === 'function') {
101
- var _this$$container;
102
- var viewPort = (_this$$container = _this.$container) === null || _this$$container === void 0 ? void 0 : _this$$container.getBoundingClientRect();
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 && _this.asProps.keyboardFocused) {
107
- e.target.scrollIntoView({
108
- block: 'nearest',
109
- inline: 'nearest'
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$$container2 = _this.$container,
137
- scrollWidth = _this$$container2.scrollWidth,
138
- clientWidth = _this$$container2.clientWidth,
139
- scrollHeight = _this$$container2.scrollHeight,
140
- clientHeight = _this$$container2.clientHeight,
141
- scrollLeft = _this$$container2.scrollLeft,
142
- scrollTop = _this$$container2.scrollTop;
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$$container3 = this.$container,
174
- scrollWidth = _this$$container3.scrollWidth,
175
- scrollHeight = _this$$container3.scrollHeight;
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$asProps = this.asProps,
199
- container = _this$asProps.container,
200
- inner = _this$asProps.inner,
201
- onScroll = _this$asProps.onScroll,
202
- uid = _this$asProps.uid;
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$asProps2 = this.asProps,
214
- container = _this$asProps2.container,
215
- orientation = _this$asProps2.orientation,
216
- uid = _this$asProps2.uid;
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$asProps3 = this.asProps,
262
- Children = _this$asProps3.Children,
263
- styles = _this$asProps3.styles,
264
- orientation = _this$asProps3.orientation,
265
- tabIndex = _this$asProps3.tabIndex,
266
- forcedAdvancedMode = _this$asProps3.forcedAdvancedMode;
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))), shadowVertical && /*#__PURE__*/_react["default"].createElement(SShadowVertical, _ref3.cn("SShadowVertical", {
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":"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"}
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__*/".___SScrollBar_ft0vq_gg_{position:absolute;display:flex}.___SScrollBar_ft0vq_gg_._orientation_vertical_ft0vq_gg_{top:var(--intergalactic-spacing-1x, 4px);right:0;width:8px;height:calc(100% - var(--intergalactic-spacing-2x, 8px));justify-content:center}.___SScrollBar_ft0vq_gg_._orientation_horizontal_ft0vq_gg_{bottom:0;left:var(--intergalactic-spacing-1x, 4px);height:12px;width:calc(100% - var(--intergalactic-spacing-2x, 8px));align-items:center}.___SSlider_ft0vq_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__*/, "ft0vq_gg_") /*__reshadow_css_end__*/, {
24
- "__SScrollBar": "___SScrollBar_ft0vq_gg_",
25
- "_orientation_vertical": "_orientation_vertical_ft0vq_gg_",
26
- "_orientation_horizontal": "_orientation_horizontal_ft0vq_gg_",
27
- "__SSlider": "___SSlider_ft0vq_gg_"
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
+ }