react-ui-basics 0.0.210 → 0.0.211

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/Scrollable.js CHANGED
@@ -205,25 +205,26 @@ var Scrollable = function (_PureComponent) {
205
205
  var updateVerticalScrollbar = function updateVerticalScrollbar() {
206
206
  var scrollHeight = scrollHeightOf(viewport);
207
207
  var scrollbarHeight = offsetHeightOf(scrollbar);
208
+ var containerHeight = offsetHeightOf(container);
208
209
  !adjustedScrollWidth && adjustScrollWidth();
209
210
  var newRatio = scrollHeight / scrollbarHeight;
210
- if (ratio === newRatio && Number.isFinite(newRatio) || Number.isNaN(newRatio)) return;
211
+ if (!containerHeight || ratio === newRatio && Number.isFinite(newRatio) || Number.isNaN(newRatio)) return;
211
212
  var offsetHeight = offsetHeightOf(viewport);
212
213
  var horizontalScrollBarOffset = statusH() !== WITHOUT_SCROLL ? __clientHeight(scrollbarH) + Math.max(NATIVE_SCROLL_HEIGHT, 0) : 0;
213
- var containerOffsetHeight = offsetHeightOf(container) + horizontalScrollBarOffset;
214
- if (containerOffsetHeight === scrollHeight && status() === WITHOUT_SCROLL) return;
214
+ var containerOffsetHeight = containerHeight + horizontalScrollBarOffset;
215
+ if (containerOffsetHeight > scrollHeight && status() === WITHOUT_SCROLL) return;
215
216
  if (props().autoScrollTop && scrollHeight - offsetHeight - __scrollTop(viewport) <= 20 && newRatio < ratio && Number.isFinite(newRatio) && Number.isFinite(ratio)) {
216
217
  viewport.scrollTop = 0;
217
218
  }
218
219
  ratio = newRatio;
219
- styleOf(thumb).height = scrollbarHeight / newRatio + 'px';
220
+ if (newRatio > 1.02) styleOf(thumb).height = scrollbarHeight / newRatio + 'px';
220
221
  styleOf(container).height = scrollHeight - horizontalScrollBarOffset + 'px';
221
- containerOffsetHeight = offsetHeightOf(container) + horizontalScrollBarOffset;
222
+ containerOffsetHeight = containerHeight + horizontalScrollBarOffset;
222
223
  if (scrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN) {
223
224
  if (status() !== WITHOUT_SCROLL) hideScrollbar(scrollbar, viewport);
224
225
  return;
225
226
  }
226
- if (containerOffsetHeight < scrollHeight) {
227
+ if (containerOffsetHeight <= scrollHeight) {
227
228
  adjustedScrollWidth = false;
228
229
  showScrollbar(scrollbar, viewport, adjustScrollWidth);
229
230
  } else {
@@ -237,22 +238,23 @@ var Scrollable = function (_PureComponent) {
237
238
  var updateHorizontalScrollbar = function updateHorizontalScrollbar() {
238
239
  var scrollWidth = scrollWidthOf(viewport);
239
240
  var scrollbarWidth = offsetWidthOf(scrollbarH);
241
+ var containerWidth = offsetWidthOf(container);
240
242
  !adjustedScrollWidth && adjustScrollWidth();
241
243
  var newRatio = scrollWidth / scrollbarWidth;
242
- if (ratioH === newRatio && Number.isFinite(newRatio) || Number.isNaN(newRatio)) return;
244
+ if (!containerWidth || ratioH === newRatio && Number.isFinite(newRatio) || Number.isNaN(newRatio)) return;
243
245
  var offsetWidth = offsetWidthOf(viewport);
244
246
  var verticalScrollBarOffset = status() !== WITHOUT_SCROLL ? __clientWidth(scrollbar) + Math.max(NATIVE_SCROLL_WIDTH, 0) : 0;
245
- var containerOffsetWidth = offsetWidthOf(container) + verticalScrollBarOffset;
246
- if (containerOffsetWidth === scrollWidth && statusH() === WITHOUT_SCROLL) return;
247
+ var containerOffsetWidth = containerWidth + verticalScrollBarOffset;
248
+ if (containerOffsetWidth > scrollWidth && statusH() === WITHOUT_SCROLL) return;
247
249
  ratioH = newRatio;
248
- styleOf(thumbH).width = scrollbarWidth / newRatio + 'px';
250
+ if (newRatio > 1.02) styleOf(thumbH).width = scrollbarWidth / newRatio + 'px';
249
251
  if (horizontalScrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN) {
250
252
  if (statusH() !== WITHOUT_SCROLL) hideHorizontalScrollbar(scrollbarH, viewport);
251
253
  return;
252
254
  }
253
255
  styleOf(container).width = scrollWidth - verticalScrollBarOffset + 'px';
254
- containerOffsetWidth = offsetWidthOf(container) + verticalScrollBarOffset;
255
- if (containerOffsetWidth < scrollWidth) {
256
+ containerOffsetWidth = containerWidth + verticalScrollBarOffset;
257
+ if (containerOffsetWidth <= scrollWidth) {
256
258
  adjustedScrollWidth = false;
257
259
  showHorizontalScrollbar(scrollbarH, viewport, adjustScrollWidth);
258
260
  } else {
@@ -269,10 +271,12 @@ var Scrollable = function (_PureComponent) {
269
271
  updateVerticalScrollbar();
270
272
  updateHorizontalScrollbar();
271
273
  };
272
- } else if (sbm !== SCROLLBAR_RESIZE_DISABLED) update = updateVerticalScrollbar;else update = updateVerticalScrollbar;
273
- initTimeout = setTimeout(function () {
274
- resizeInterval = setInterval(update, 50);
275
- }, 200);
274
+ } else if (sbm !== SCROLLBAR_RESIZE_DISABLED) update = updateVerticalScrollbar;else if (hsbm !== SCROLLBAR_RESIZE_DISABLED) update = updateHorizontalScrollbar;
275
+ if (update) {
276
+ initTimeout = setTimeout(function () {
277
+ resizeInterval = setInterval(update, 50);
278
+ }, 200);
279
+ }
276
280
  };
277
281
  that[ReactConstants[0]] = init;
278
282
  that[ReactConstants[1]] = clear;
package/Scrollable.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Scrollable.js","sources":["./src/Scrollable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './Scrollable.css'\nimport {\n classNames,\n preventDefault,\n WINDOW,\n addEventListener,\n removeEventListener,\n setTimeout,\n clearTimeout,\n setInterval,\n clearInterval,\n createRef,\n orNoop,\n NOOP,\n ref\n} from \"./Tools\";\nimport {propsGetter, stateGS, PureComponent, render, componentDidMount, componentDidUpdate, componentWillUnmount} from \"./ReactConstants\";\n\nexport const SCROLLBAR_MODE_HIDDEN = 'hidden';\nexport const SCROLLBAR_MODE_VISIBLE = 'visible';\nexport const SCROLLBAR_MODE_AUTO = 'auto';\nexport const SCROLLBAR_RESIZE_DISABLED = 'disabled';\n\nlet NATIVE_SCROLL_WIDTH = -1;\nlet NATIVE_SCROLL_HEIGHT = -1;\n\nconst WITHOUT_SCROLL = 'without-scroll';\nconst WITH_SCROLL = 'with-scroll';\n\nconst createFieldGetter = field => el => el[field];\nconst scrollHeightOf = createFieldGetter('scrollHeight');\nconst scrollWidthOf = createFieldGetter('scrollWidth');\nconst offsetHeightOf = createFieldGetter('offsetHeight');\nconst offsetWidthOf = createFieldGetter('offsetWidth');\nconst styleOf = createFieldGetter('style');\nconst scrollBarModeOf = createFieldGetter('scrollBarMode');\nconst onScroll = createFieldGetter('onScroll');\nconst horizontalScrollBarModeOf = createFieldGetter('horizontalScrollBarMode');\n\nclass Scrollable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const status = stateGS(that);\n const statusH = stateGS(that);\n\n const viewportRef = createRef();\n const scrollbarRef = createRef();\n const horizontalScrollbarRef = createRef();\n const thumbRef = createRef();\n const horizontalThumbRef = createRef();\n\n let resizeInterval;\n let initTimeout;\n\n const clear = () => {\n clearInterval(resizeInterval);\n clearTimeout(initTimeout);\n };\n\n const init = () => {\n clear();\n\n if (scrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN && horizontalScrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN) {\n status(WITHOUT_SCROLL);\n statusH(WITHOUT_SCROLL);\n return;\n }\n\n const viewport = viewportRef();\n const scrollbar = scrollbarRef();\n const scrollbarH = horizontalScrollbarRef();\n const container = that.el;\n const thumb = thumbRef();\n const thumbH = horizontalThumbRef();\n\n let scrolling = false;\n let scrolledToBottom = false;\n let scrolledToTop = false;\n let adjustedScrollWidth = false;\n let lastY = 0;\n let lastX = 0;\n let ratio = 0;\n let ratioH = 0;\n const onScrollListener = onScroll(props())\n\n viewport.onscroll = (e) => {\n const scrollHeight = scrollHeightOf(viewport);\n const offsetHeight = offsetHeightOf(viewport);\n const scrollWidth = scrollWidthOf(viewport);\n const offsetWidth = offsetWidthOf(viewport);\n const scrollbarHeight = offsetHeightOf(scrollbar);\n const scrollbarWidth = offsetWidthOf(scrollbarH);\n let position = viewport.scrollTop / (scrollHeight - offsetHeight);\n const positionH = viewport.scrollLeft / (scrollWidth - offsetWidth);\n\n if (position > 1) {\n viewport.scrollTop = scrollHeight - offsetHeight;\n position = 1\n }\n\n styleOf(thumb).top = (position * (scrollbarHeight - offsetHeightOf(thumb))) + 'px';\n styleOf(thumbH).left = (positionH * (scrollbarWidth - offsetWidthOf(thumbH))) + 'px';\n\n if (position >= 0.98) {\n !scrolledToBottom && orNoop(props().onScrolledToBottom)();\n scrolledToBottom = true;\n } else {\n scrolledToBottom = false;\n }\n\n if (position <= 0.02) {\n !scrolledToTop && orNoop(props().onScrolledToTop)();\n scrolledToTop = true;\n } else {\n scrolledToTop = false;\n }\n\n onScrollListener && onScrollListener(e)\n };\n const reset = () => {\n removeEventListener(WINDOW, 'mouseup', reset);\n removeEventListener(WINDOW, 'mousemove', moveListener);\n viewport.style.scrollBehavior = ''\n scrolling = false;\n };\n const moveListener = (e) => {\n if (!scrolling)\n return;\n\n if (scrolling === 'v') {\n viewport.scrollTop += (e.clientY - lastY) * ratio;\n lastY = e.clientY;\n } else if (scrolling === 'h') {\n viewport.scrollLeft += (e.clientX - lastX) * ratioH;\n lastX = e.clientX;\n }\n };\n thumb.onmousedown = (e) => {\n lastY = e.clientY;\n scrolling = 'v';\n ratio = scrollHeightOf(viewport) / offsetHeightOf(viewport);\n viewport.style.scrollBehavior = 'unset'\n\n addEventListener(WINDOW, 'mouseup', reset);\n addEventListener(WINDOW, 'mousemove', moveListener);\n };\n thumb.ondragstart = preventDefault;\n thumb.onmouseup = reset;\n\n thumbH.onmousedown = (e) => {\n lastX = e.clientX;\n scrolling = 'h';\n ratioH = scrollWidthOf(viewport) / offsetWidthOf(viewport);\n viewport.style.scrollBehavior = 'unset'\n\n addEventListener(WINDOW, 'mouseup', reset);\n addEventListener(WINDOW, 'mousemove', moveListener);\n };\n thumbH.ondragstart = preventDefault;\n thumbH.onmouseup = reset;\n\n scrollbar.onclick = (e) => {\n if (e.target === scrollbar) {\n let thumbPosition = parseInt(styleOf(thumb).top);\n viewport.scrollTop += offsetHeightOf(viewport) * 0.9 * (e.offsetY < thumbPosition ? -1 : 1);\n }\n };\n scrollbarH.onclick = (e) => {\n if (e.target === scrollbarH) {\n let thumbPosition = parseInt(styleOf(thumbH).left);\n viewport.scrollLeft += offsetWidthOf(viewport) * 0.9 * (e.offsetX < thumbPosition ? -1 : 1);\n }\n };\n\n const adjustScrollWidth = () => {\n if (NATIVE_SCROLL_WIDTH < 0) {\n NATIVE_SCROLL_WIDTH = viewport.offsetWidth - viewport.clientWidth;\n if (NATIVE_SCROLL_WIDTH === 0 && scrollHeightOf(viewport) !== offsetHeightOf(viewport)) {\n NATIVE_SCROLL_WIDTH = -1;\n }\n }\n if (NATIVE_SCROLL_HEIGHT < 0) {\n NATIVE_SCROLL_HEIGHT = viewport.offsetHeight - viewport.clientHeight;\n if (NATIVE_SCROLL_HEIGHT === 0 && scrollWidthOf(viewport) !== offsetWidthOf(viewport)) {\n NATIVE_SCROLL_HEIGHT = -1;\n }\n }\n\n if (!adjustedScrollWidth) {\n if (NATIVE_SCROLL_WIDTH >= 0 && status() !== WITHOUT_SCROLL) {\n styleOf(viewport).paddingRight = (NATIVE_SCROLL_WIDTH) + scrollbar.clientWidth + 'px';\n styleOf(viewport).marginRight = -(NATIVE_SCROLL_WIDTH) - scrollbar.clientWidth + 'px';\n }\n if (NATIVE_SCROLL_HEIGHT >= 0 && statusH() !== WITHOUT_SCROLL) {\n styleOf(viewport).paddingBottom = (NATIVE_SCROLL_HEIGHT) + scrollbarH.clientHeight + 'px';\n styleOf(viewport).marginBottom = -(NATIVE_SCROLL_HEIGHT) - scrollbarH.clientHeight + 'px';\n }\n adjustedScrollWidth = true;\n }\n };\n\n adjustScrollWidth();\n\n const showScrollbar = (scrollbar, viewport, adjustScrollWidth) => {\n styleOf(scrollbar).visibility = 'inherit';\n styleOf(scrollbar).bottom = '0'; //enable scrollbar\n styleOf(viewport).overflowY = '';\n adjustScrollWidth();\n status() !== WITH_SCROLL && status(WITH_SCROLL);\n };\n\n const hideScrollbar = (scrollbar, viewport) => {\n styleOf(scrollbar).visibility = 'hidden'; //disable scrollbar\n styleOf(viewport).overflowY = 'inherit';\n styleOf(viewport).paddingRight = '0';\n styleOf(viewport).marginRight = '0';\n status() !== WITHOUT_SCROLL && status(WITHOUT_SCROLL);\n };\n\n const showHorizontalScrollbar = (scrollbar, viewport, adjustScrollWidth) => {\n styleOf(scrollbar).visibility = 'inherit';\n styleOf(scrollbar).right = '0'; //enable scrollbar\n styleOf(viewport).overflowX = '';\n adjustScrollWidth();\n statusH() !== WITH_SCROLL && statusH(WITH_SCROLL);\n };\n\n const hideHorizontalScrollbar = (scrollbar, viewport) => {\n styleOf(scrollbar).visibility = 'hidden'; //disable scrollbar\n styleOf(viewport).overflowX = 'inherit';\n styleOf(viewport).paddingBottom = '0';\n styleOf(viewport).marginBottom = '0';\n statusH() !== WITHOUT_SCROLL && statusH(WITHOUT_SCROLL);\n };\n\n const updateVerticalScrollbar = () => {\n const scrollHeight = scrollHeightOf(viewport);\n const scrollbarHeight = offsetHeightOf(scrollbar);\n\n !adjustedScrollWidth && adjustScrollWidth();\n\n const newRatio = scrollHeight / scrollbarHeight;\n if ((ratio === newRatio && Number.isFinite(newRatio)) || Number.isNaN(newRatio)) return;\n\n const offsetHeight = offsetHeightOf(viewport);\n const horizontalScrollBarOffset = statusH() !== WITHOUT_SCROLL ? scrollbarH.clientHeight + Math.max(NATIVE_SCROLL_HEIGHT, 0) : 0;\n\n let containerOffsetHeight = offsetHeightOf(container) + horizontalScrollBarOffset;\n if (containerOffsetHeight === scrollHeight && status() === WITHOUT_SCROLL)\n return;\n\n if (props().autoScrollTop && scrollHeight - offsetHeight - viewport.scrollTop <= 20 && newRatio < ratio && Number.isFinite(newRatio) && Number.isFinite(ratio)) {\n viewport.scrollTop = 0; // scroll to top if scrollbar gets smaller\n }\n\n ratio = newRatio;\n styleOf(thumb).height = (scrollbarHeight / newRatio) + 'px';\n\n styleOf(container).height = scrollHeight - horizontalScrollBarOffset + 'px';\n containerOffsetHeight = offsetHeightOf(container) + horizontalScrollBarOffset;\n\n if (scrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN) {\n if (status() !== WITHOUT_SCROLL)\n hideScrollbar(scrollbar, viewport);\n\n return\n }\n\n if (containerOffsetHeight < scrollHeight) {\n adjustedScrollWidth = false;\n showScrollbar(scrollbar, viewport, adjustScrollWidth);\n } else {\n hideScrollbar(scrollbar, viewport);\n }\n\n scrolledToBottom = false;\n scrolledToTop = false;\n\n const position = viewport.scrollTop / (scrollHeight - offsetHeight);\n styleOf(thumb).top = (position * (scrollbarHeight - offsetHeightOf(thumb))) + 'px';\n };\n\n const updateHorizontalScrollbar = () => {\n\n const scrollWidth = scrollWidthOf(viewport);\n const scrollbarWidth = offsetWidthOf(scrollbarH);\n\n !adjustedScrollWidth && adjustScrollWidth();\n\n const newRatio = scrollWidth / scrollbarWidth;\n if ((ratioH === newRatio && Number.isFinite(newRatio)) || Number.isNaN(newRatio)) return;\n\n const offsetWidth = offsetWidthOf(viewport);\n\n const verticalScrollBarOffset = status() !== WITHOUT_SCROLL ? scrollbar.clientWidth + Math.max(NATIVE_SCROLL_WIDTH, 0) : 0;\n let containerOffsetWidth = offsetWidthOf(container) + verticalScrollBarOffset;\n\n if (containerOffsetWidth === scrollWidth && statusH() === WITHOUT_SCROLL)\n return;\n\n ratioH = newRatio;\n styleOf(thumbH).width = (scrollbarWidth / newRatio) + 'px';\n\n\n if (horizontalScrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN) {\n if (statusH() !== WITHOUT_SCROLL)\n hideHorizontalScrollbar(scrollbarH, viewport);\n\n return\n }\n\n styleOf(container).width = (scrollWidth - verticalScrollBarOffset) + 'px';\n containerOffsetWidth = offsetWidthOf(container) + verticalScrollBarOffset;\n\n if (containerOffsetWidth < scrollWidth) {\n adjustedScrollWidth = false;\n showHorizontalScrollbar(scrollbarH, viewport, adjustScrollWidth);\n } else {\n hideHorizontalScrollbar(scrollbarH, viewport);\n }\n\n const position = viewport.scrollLeft / (scrollWidth - offsetWidth);\n styleOf(thumbH).left = (position * (scrollbarWidth - offsetWidthOf(thumbH))) + 'px';\n };\n\n let update;\n let sbm = scrollBarModeOf(props());\n let hsbm = horizontalScrollBarModeOf(props());\n if (sbm !== SCROLLBAR_RESIZE_DISABLED && !hsbm === SCROLLBAR_RESIZE_DISABLED) {\n update = () => {\n updateVerticalScrollbar();\n updateHorizontalScrollbar();\n };\n } else if (sbm !== SCROLLBAR_RESIZE_DISABLED)\n update = updateVerticalScrollbar\n else\n update = updateVerticalScrollbar\n\n initTimeout = setTimeout(() => {\n resizeInterval = setInterval(update, 50);\n }, 200)\n };\n\n that[componentDidMount] = init;\n that[componentWillUnmount] = clear;\n\n that[componentDidUpdate] = (prevProps) => {\n if (scrollBarModeOf(props()) !== scrollBarModeOf(prevProps))\n init();\n else if (onScroll(props()) !== onScroll(prevProps))\n init();\n };\n\n that.setScroll = (y) => {\n viewportRef().scrollTop = y\n };\n that.getScroll = () => viewportRef().scrollTop;\n that.getScrollHeight = () => scrollHeightOf(viewportRef());\n that.getHeight = () => that.el.clientHeight;\n\n that[render] = () => {\n const _props = props();\n const {className, children} = _props;\n return (\n <div className={classNames('Scrollable', className, status() || WITH_SCROLL, statusH() + '-horizontal')} style={styleOf(_props)} ref={ref('el', this)}>\n <div className=\"viewport\" ref={viewportRef}>\n {children}\n </div>\n <div className={classNames('scrollbar', scrollBarModeOf(_props) || SCROLLBAR_MODE_AUTO)} ref={scrollbarRef}>\n <div className=\"thumb\" ref={thumbRef}/>\n </div>\n <div className={classNames('scrollbar horizontal', horizontalScrollBarModeOf(_props))} ref={horizontalScrollbarRef}>\n <div className=\"thumb\" ref={horizontalThumbRef}/>\n </div>\n </div>\n )\n };\n }\n}\n\nexport default Scrollable\n\nScrollable.defaultProps = {\n autoScrollTop: true,\n horizontalScrollBarMode: SCROLLBAR_MODE_HIDDEN\n};\n\nif (window.isNotProductionEnvironment) {\n Scrollable.propTypes = {\n scrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE, SCROLLBAR_RESIZE_DISABLED]),\n horizontalScrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE, SCROLLBAR_RESIZE_DISABLED]),\n className: PropTypes.string,\n style: PropTypes.object,\n onScrolledToBottom: PropTypes.func,\n onScrolledToTop: PropTypes.func,\n autoScrollTop: PropTypes.bool,\n }\n}"],"names":["SCROLLBAR_MODE_HIDDEN","SCROLLBAR_MODE_VISIBLE","SCROLLBAR_MODE_AUTO","SCROLLBAR_RESIZE_DISABLED","NATIVE_SCROLL_WIDTH","NATIVE_SCROLL_HEIGHT","WITHOUT_SCROLL","WITH_SCROLL","createFieldGetter","field","el","scrollHeightOf","scrollWidthOf","offsetHeightOf","offsetWidthOf","styleOf","scrollBarModeOf","onScroll","horizontalScrollBarModeOf","Scrollable","_PureComponent","_inherits","_super","_createSuper","properties","_this","_classCallCheck","call","that","_assertThisInitialized","state","props","propsGetter","status","stateGS","statusH","viewportRef","createRef","scrollbarRef","horizontalScrollbarRef","thumbRef","horizontalThumbRef","resizeInterval","initTimeout","clear","clearInterval","clearTimeout","init","viewport","scrollbar","scrollbarH","container","thumb","thumbH","scrolling","scrolledToBottom","scrolledToTop","adjustedScrollWidth","lastY","lastX","ratio","ratioH","onScrollListener","onscroll","e","scrollHeight","offsetHeight","scrollWidth","offsetWidth","scrollbarHeight","scrollbarWidth","position","scrollTop","positionH","scrollLeft","top","left","orNoop","onScrolledToBottom","onScrolledToTop","reset","removeEventListener","WINDOW","moveListener","style","scrollBehavior","clientY","clientX","onmousedown","addEventListener","ondragstart","preventDefault","onmouseup","onclick","target","thumbPosition","parseInt","offsetY","offsetX","adjustScrollWidth","clientWidth","clientHeight","paddingRight","marginRight","paddingBottom","marginBottom","showScrollbar","visibility","bottom","overflowY","hideScrollbar","showHorizontalScrollbar","right","overflowX","hideHorizontalScrollbar","updateVerticalScrollbar","newRatio","Number","isFinite","isNaN","horizontalScrollBarOffset","Math","max","containerOffsetHeight","autoScrollTop","height","updateHorizontalScrollbar","verticalScrollBarOffset","containerOffsetWidth","width","update","sbm","hsbm","setTimeout","setInterval","componentDidMount","componentWillUnmount","componentDidUpdate","prevProps","setScroll","y","getScroll","getScrollHeight","getHeight","render","_props","className","children","ReactCreateElement","classNames","ref","_createClass","PureComponent","defaultProps","horizontalScrollBarMode","window","isNotProductionEnvironment","propTypes","scrollBarMode","PropTypes","oneOf","string","object","func","bool"],"mappings":"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"}
1
+ {"version":3,"file":"Scrollable.js","sources":["./src/Scrollable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './Scrollable.css'\nimport {\n classNames,\n preventDefault,\n WINDOW,\n addEventListener,\n removeEventListener,\n setTimeout,\n clearTimeout,\n setInterval,\n clearInterval,\n createRef,\n orNoop,\n NOOP,\n ref\n} from \"./Tools\";\nimport {propsGetter, stateGS, PureComponent, render, componentDidMount, componentDidUpdate, componentWillUnmount} from \"./ReactConstants\";\n\nexport const SCROLLBAR_MODE_HIDDEN = 'hidden';\nexport const SCROLLBAR_MODE_VISIBLE = 'visible';\nexport const SCROLLBAR_MODE_AUTO = 'auto';\nexport const SCROLLBAR_RESIZE_DISABLED = 'disabled';\n\nlet NATIVE_SCROLL_WIDTH = -1;\nlet NATIVE_SCROLL_HEIGHT = -1;\n\nconst WITHOUT_SCROLL = 'without-scroll';\nconst WITH_SCROLL = 'with-scroll';\n\nconst createFieldGetter = field => el => el[field];\nconst scrollHeightOf = createFieldGetter('scrollHeight');\nconst scrollWidthOf = createFieldGetter('scrollWidth');\nconst offsetHeightOf = createFieldGetter('offsetHeight');\nconst offsetWidthOf = createFieldGetter('offsetWidth');\nconst styleOf = createFieldGetter('style');\nconst scrollBarModeOf = createFieldGetter('scrollBarMode');\nconst onScroll = createFieldGetter('onScroll');\nconst horizontalScrollBarModeOf = createFieldGetter('horizontalScrollBarMode');\n\nclass Scrollable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const status = stateGS(that);\n const statusH = stateGS(that);\n\n const viewportRef = createRef();\n const scrollbarRef = createRef();\n const horizontalScrollbarRef = createRef();\n const thumbRef = createRef();\n const horizontalThumbRef = createRef();\n\n let resizeInterval;\n let initTimeout;\n\n const clear = () => {\n clearInterval(resizeInterval);\n clearTimeout(initTimeout);\n };\n\n const init = () => {\n clear();\n\n if (scrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN && horizontalScrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN) {\n status(WITHOUT_SCROLL);\n statusH(WITHOUT_SCROLL);\n return;\n }\n\n const viewport = viewportRef();\n const scrollbar = scrollbarRef();\n const scrollbarH = horizontalScrollbarRef();\n const container = that.el;\n const thumb = thumbRef();\n const thumbH = horizontalThumbRef();\n\n let scrolling = false;\n let scrolledToBottom = false;\n let scrolledToTop = false;\n let adjustedScrollWidth = false;\n let lastY = 0;\n let lastX = 0;\n let ratio = 0;\n let ratioH = 0;\n const onScrollListener = onScroll(props())\n\n viewport.onscroll = (e) => {\n const scrollHeight = scrollHeightOf(viewport);\n const offsetHeight = offsetHeightOf(viewport);\n const scrollWidth = scrollWidthOf(viewport);\n const offsetWidth = offsetWidthOf(viewport);\n const scrollbarHeight = offsetHeightOf(scrollbar);\n const scrollbarWidth = offsetWidthOf(scrollbarH);\n let position = viewport.scrollTop / (scrollHeight - offsetHeight);\n const positionH = viewport.scrollLeft / (scrollWidth - offsetWidth);\n\n if (position > 1) {\n viewport.scrollTop = scrollHeight - offsetHeight;\n position = 1\n }\n\n styleOf(thumb).top = (position * (scrollbarHeight - offsetHeightOf(thumb))) + 'px';\n styleOf(thumbH).left = (positionH * (scrollbarWidth - offsetWidthOf(thumbH))) + 'px';\n\n if (position >= 0.98) {\n !scrolledToBottom && orNoop(props().onScrolledToBottom)();\n scrolledToBottom = true;\n } else {\n scrolledToBottom = false;\n }\n\n if (position <= 0.02) {\n !scrolledToTop && orNoop(props().onScrolledToTop)();\n scrolledToTop = true;\n } else {\n scrolledToTop = false;\n }\n\n onScrollListener && onScrollListener(e)\n };\n const reset = () => {\n removeEventListener(WINDOW, 'mouseup', reset);\n removeEventListener(WINDOW, 'mousemove', moveListener);\n viewport.style.scrollBehavior = ''\n scrolling = false;\n };\n const moveListener = (e) => {\n if (!scrolling)\n return;\n\n if (scrolling === 'v') {\n viewport.scrollTop += (e.clientY - lastY) * ratio;\n lastY = e.clientY;\n } else if (scrolling === 'h') {\n viewport.scrollLeft += (e.clientX - lastX) * ratioH;\n lastX = e.clientX;\n }\n };\n thumb.onmousedown = (e) => {\n lastY = e.clientY;\n scrolling = 'v';\n ratio = scrollHeightOf(viewport) / offsetHeightOf(viewport);\n viewport.style.scrollBehavior = 'unset'\n\n addEventListener(WINDOW, 'mouseup', reset);\n addEventListener(WINDOW, 'mousemove', moveListener);\n };\n thumb.ondragstart = preventDefault;\n thumb.onmouseup = reset;\n\n thumbH.onmousedown = (e) => {\n lastX = e.clientX;\n scrolling = 'h';\n ratioH = scrollWidthOf(viewport) / offsetWidthOf(viewport);\n viewport.style.scrollBehavior = 'unset'\n\n addEventListener(WINDOW, 'mouseup', reset);\n addEventListener(WINDOW, 'mousemove', moveListener);\n };\n thumbH.ondragstart = preventDefault;\n thumbH.onmouseup = reset;\n\n scrollbar.onclick = (e) => {\n if (e.target === scrollbar) {\n let thumbPosition = parseInt(styleOf(thumb).top);\n viewport.scrollTop += offsetHeightOf(viewport) * 0.9 * (e.offsetY < thumbPosition ? -1 : 1);\n }\n };\n scrollbarH.onclick = (e) => {\n if (e.target === scrollbarH) {\n let thumbPosition = parseInt(styleOf(thumbH).left);\n viewport.scrollLeft += offsetWidthOf(viewport) * 0.9 * (e.offsetX < thumbPosition ? -1 : 1);\n }\n };\n\n const adjustScrollWidth = () => {\n if (NATIVE_SCROLL_WIDTH < 0) {\n NATIVE_SCROLL_WIDTH = viewport.offsetWidth - viewport.clientWidth;\n if (NATIVE_SCROLL_WIDTH === 0 && scrollHeightOf(viewport) !== offsetHeightOf(viewport)) {\n NATIVE_SCROLL_WIDTH = -1;\n }\n }\n if (NATIVE_SCROLL_HEIGHT < 0) {\n NATIVE_SCROLL_HEIGHT = viewport.offsetHeight - viewport.clientHeight;\n if (NATIVE_SCROLL_HEIGHT === 0 && scrollWidthOf(viewport) !== offsetWidthOf(viewport)) {\n NATIVE_SCROLL_HEIGHT = -1;\n }\n }\n\n if (!adjustedScrollWidth) {\n if (NATIVE_SCROLL_WIDTH >= 0 && status() !== WITHOUT_SCROLL) {\n styleOf(viewport).paddingRight = (NATIVE_SCROLL_WIDTH) + scrollbar.clientWidth + 'px';\n styleOf(viewport).marginRight = -(NATIVE_SCROLL_WIDTH) - scrollbar.clientWidth + 'px';\n }\n if (NATIVE_SCROLL_HEIGHT >= 0 && statusH() !== WITHOUT_SCROLL) {\n styleOf(viewport).paddingBottom = (NATIVE_SCROLL_HEIGHT) + scrollbarH.clientHeight + 'px';\n styleOf(viewport).marginBottom = -(NATIVE_SCROLL_HEIGHT) - scrollbarH.clientHeight + 'px';\n }\n adjustedScrollWidth = true;\n }\n };\n\n adjustScrollWidth();\n\n const showScrollbar = (scrollbar, viewport, adjustScrollWidth) => {\n styleOf(scrollbar).visibility = 'inherit';\n styleOf(scrollbar).bottom = '0'; //enable scrollbar\n styleOf(viewport).overflowY = '';\n adjustScrollWidth();\n status() !== WITH_SCROLL && status(WITH_SCROLL);\n };\n\n const hideScrollbar = (scrollbar, viewport) => {\n styleOf(scrollbar).visibility = 'hidden'; //disable scrollbar\n styleOf(viewport).overflowY = 'inherit';\n styleOf(viewport).paddingRight = '0';\n styleOf(viewport).marginRight = '0';\n status() !== WITHOUT_SCROLL && status(WITHOUT_SCROLL);\n };\n\n const showHorizontalScrollbar = (scrollbar, viewport, adjustScrollWidth) => {\n styleOf(scrollbar).visibility = 'inherit';\n styleOf(scrollbar).right = '0'; //enable scrollbar\n styleOf(viewport).overflowX = '';\n adjustScrollWidth();\n statusH() !== WITH_SCROLL && statusH(WITH_SCROLL);\n };\n\n const hideHorizontalScrollbar = (scrollbar, viewport) => {\n styleOf(scrollbar).visibility = 'hidden'; //disable scrollbar\n styleOf(viewport).overflowX = 'inherit';\n styleOf(viewport).paddingBottom = '0';\n styleOf(viewport).marginBottom = '0';\n statusH() !== WITHOUT_SCROLL && statusH(WITHOUT_SCROLL);\n };\n\n const updateVerticalScrollbar = () => {\n const scrollHeight = scrollHeightOf(viewport);\n const scrollbarHeight = offsetHeightOf(scrollbar);\n const containerHeight = offsetHeightOf(container);\n\n !adjustedScrollWidth && adjustScrollWidth();\n\n const newRatio = scrollHeight / scrollbarHeight;\n if (!containerHeight || (ratio === newRatio && Number.isFinite(newRatio)) || Number.isNaN(newRatio)) return;\n\n const offsetHeight = offsetHeightOf(viewport);\n const horizontalScrollBarOffset = statusH() !== WITHOUT_SCROLL ? scrollbarH.clientHeight + Math.max(NATIVE_SCROLL_HEIGHT, 0) : 0;\n\n let containerOffsetHeight = containerHeight + horizontalScrollBarOffset;\n if (containerOffsetHeight > scrollHeight && status() === WITHOUT_SCROLL)\n return;\n\n if (props().autoScrollTop && scrollHeight - offsetHeight - viewport.scrollTop <= 20 && newRatio < ratio && Number.isFinite(newRatio) && Number.isFinite(ratio)) {\n viewport.scrollTop = 0; // scroll to top if scrollbar gets smaller\n }\n\n ratio = newRatio;\n if (newRatio > 1.02)\n styleOf(thumb).height = (scrollbarHeight / newRatio) + 'px';\n\n styleOf(container).height = scrollHeight - horizontalScrollBarOffset + 'px';\n containerOffsetHeight = containerHeight + horizontalScrollBarOffset;\n\n if (scrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN) {\n if (status() !== WITHOUT_SCROLL)\n hideScrollbar(scrollbar, viewport);\n\n return\n }\n\n if (containerOffsetHeight <= scrollHeight) {\n adjustedScrollWidth = false;\n showScrollbar(scrollbar, viewport, adjustScrollWidth);\n } else {\n hideScrollbar(scrollbar, viewport);\n }\n\n scrolledToBottom = false;\n scrolledToTop = false;\n\n const position = viewport.scrollTop / (scrollHeight - offsetHeight);\n styleOf(thumb).top = (position * (scrollbarHeight - offsetHeightOf(thumb))) + 'px';\n };\n\n const updateHorizontalScrollbar = () => {\n const scrollWidth = scrollWidthOf(viewport);\n const scrollbarWidth = offsetWidthOf(scrollbarH);\n const containerWidth = offsetWidthOf(container);\n\n !adjustedScrollWidth && adjustScrollWidth();\n\n const newRatio = scrollWidth / scrollbarWidth;\n if (!containerWidth || (ratioH === newRatio && Number.isFinite(newRatio)) || Number.isNaN(newRatio)) return;\n\n const offsetWidth = offsetWidthOf(viewport);\n const verticalScrollBarOffset = status() !== WITHOUT_SCROLL ? scrollbar.clientWidth + Math.max(NATIVE_SCROLL_WIDTH, 0) : 0;\n\n let containerOffsetWidth = containerWidth + verticalScrollBarOffset;\n if (containerOffsetWidth > scrollWidth && statusH() === WITHOUT_SCROLL)\n return;\n\n ratioH = newRatio;\n if (newRatio > 1.02)\n styleOf(thumbH).width = (scrollbarWidth / newRatio) + 'px';\n\n\n if (horizontalScrollBarModeOf(props()) === SCROLLBAR_MODE_HIDDEN) {\n if (statusH() !== WITHOUT_SCROLL)\n hideHorizontalScrollbar(scrollbarH, viewport);\n\n return\n }\n\n styleOf(container).width = (scrollWidth - verticalScrollBarOffset) + 'px';\n containerOffsetWidth = containerWidth + verticalScrollBarOffset;\n\n if (containerOffsetWidth <= scrollWidth) {\n adjustedScrollWidth = false;\n showHorizontalScrollbar(scrollbarH, viewport, adjustScrollWidth);\n } else {\n hideHorizontalScrollbar(scrollbarH, viewport);\n }\n\n const position = viewport.scrollLeft / (scrollWidth - offsetWidth);\n styleOf(thumbH).left = (position * (scrollbarWidth - offsetWidthOf(thumbH))) + 'px';\n };\n\n let update;\n let sbm = scrollBarModeOf(props());\n let hsbm = horizontalScrollBarModeOf(props());\n if (sbm !== SCROLLBAR_RESIZE_DISABLED && !hsbm === SCROLLBAR_RESIZE_DISABLED) {\n update = () => {\n updateVerticalScrollbar();\n updateHorizontalScrollbar();\n };\n } else if (sbm !== SCROLLBAR_RESIZE_DISABLED)\n update = updateVerticalScrollbar\n else if (hsbm !== SCROLLBAR_RESIZE_DISABLED)\n update = updateHorizontalScrollbar\n\n if (update) {\n initTimeout = setTimeout(() => {\n resizeInterval = setInterval(update, 50);\n }, 200)\n }\n };\n\n that[componentDidMount] = init;\n that[componentWillUnmount] = clear;\n\n that[componentDidUpdate] = (prevProps) => {\n if (scrollBarModeOf(props()) !== scrollBarModeOf(prevProps))\n init();\n else if (onScroll(props()) !== onScroll(prevProps))\n init();\n };\n\n that.setScroll = (y) => {\n viewportRef().scrollTop = y\n };\n that.getScroll = () => viewportRef().scrollTop;\n that.getScrollHeight = () => scrollHeightOf(viewportRef());\n that.getHeight = () => that.el.clientHeight;\n\n that[render] = () => {\n const _props = props();\n const {className, children} = _props;\n return (\n <div className={classNames('Scrollable', className, status() || WITH_SCROLL, statusH() + '-horizontal')} style={styleOf(_props)} ref={ref('el', this)}>\n <div className=\"viewport\" ref={viewportRef}>\n {children}\n </div>\n <div className={classNames('scrollbar', scrollBarModeOf(_props) || SCROLLBAR_MODE_AUTO)} ref={scrollbarRef}>\n <div className=\"thumb\" ref={thumbRef}/>\n </div>\n <div className={classNames('scrollbar horizontal', horizontalScrollBarModeOf(_props))} ref={horizontalScrollbarRef}>\n <div className=\"thumb\" ref={horizontalThumbRef}/>\n </div>\n </div>\n )\n };\n }\n}\n\nexport default Scrollable\n\nScrollable.defaultProps = {\n autoScrollTop: true,\n horizontalScrollBarMode: SCROLLBAR_MODE_HIDDEN\n};\n\nif (window.isNotProductionEnvironment) {\n Scrollable.propTypes = {\n scrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE, SCROLLBAR_RESIZE_DISABLED]),\n horizontalScrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE, SCROLLBAR_RESIZE_DISABLED]),\n className: PropTypes.string,\n style: PropTypes.object,\n onScrolledToBottom: PropTypes.func,\n onScrolledToTop: PropTypes.func,\n autoScrollTop: PropTypes.bool,\n }\n}"],"names":["SCROLLBAR_MODE_HIDDEN","SCROLLBAR_MODE_VISIBLE","SCROLLBAR_MODE_AUTO","SCROLLBAR_RESIZE_DISABLED","NATIVE_SCROLL_WIDTH","NATIVE_SCROLL_HEIGHT","WITHOUT_SCROLL","WITH_SCROLL","createFieldGetter","field","el","scrollHeightOf","scrollWidthOf","offsetHeightOf","offsetWidthOf","styleOf","scrollBarModeOf","onScroll","horizontalScrollBarModeOf","Scrollable","_PureComponent","_inherits","_super","_createSuper","properties","_this","_classCallCheck","call","that","_assertThisInitialized","state","props","propsGetter","status","stateGS","statusH","viewportRef","createRef","scrollbarRef","horizontalScrollbarRef","thumbRef","horizontalThumbRef","resizeInterval","initTimeout","clear","clearInterval","clearTimeout","init","viewport","scrollbar","scrollbarH","container","thumb","thumbH","scrolling","scrolledToBottom","scrolledToTop","adjustedScrollWidth","lastY","lastX","ratio","ratioH","onScrollListener","onscroll","e","scrollHeight","offsetHeight","scrollWidth","offsetWidth","scrollbarHeight","scrollbarWidth","position","scrollTop","positionH","scrollLeft","top","left","orNoop","onScrolledToBottom","onScrolledToTop","reset","removeEventListener","WINDOW","moveListener","style","scrollBehavior","clientY","clientX","onmousedown","addEventListener","ondragstart","preventDefault","onmouseup","onclick","target","thumbPosition","parseInt","offsetY","offsetX","adjustScrollWidth","clientWidth","clientHeight","paddingRight","marginRight","paddingBottom","marginBottom","showScrollbar","visibility","bottom","overflowY","hideScrollbar","showHorizontalScrollbar","right","overflowX","hideHorizontalScrollbar","updateVerticalScrollbar","containerHeight","newRatio","Number","isFinite","isNaN","horizontalScrollBarOffset","Math","max","containerOffsetHeight","autoScrollTop","height","updateHorizontalScrollbar","containerWidth","verticalScrollBarOffset","containerOffsetWidth","width","update","sbm","hsbm","setTimeout","setInterval","componentDidMount","componentWillUnmount","componentDidUpdate","prevProps","setScroll","y","getScroll","getScrollHeight","getHeight","render","_props","className","children","ReactCreateElement","classNames","ref","_createClass","PureComponent","defaultProps","horizontalScrollBarMode","window","isNotProductionEnvironment","propTypes","scrollBarMode","PropTypes","oneOf","string","object","func","bool"],"mappings":"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"}
package/Tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tools.js","sources":["./src/Tools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tools.js","sources":["./src/Tools.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}