react-ui-basics 0.0.141 → 0.0.142
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/DroppableList.js +8 -2
- package/DroppableList.js.map +1 -1
- package/Scrollable.js +4 -1
- package/Scrollable.js.map +1 -1
- package/ScrollableTable.js +4 -0
- package/ScrollableTable.js.map +1 -1
- package/bundle.css +282 -282
- package/package.json +1 -1
package/DroppableList.js
CHANGED
|
@@ -44,7 +44,7 @@ var DroppableList = function (_Component) {
|
|
|
44
44
|
it.createPositionListener = function (e, style) {
|
|
45
45
|
var offsetTop = e.pageY;
|
|
46
46
|
return function (e) {
|
|
47
|
-
e.pageY && (style.transform = 'translateY(' + (e.pageY - offsetTop) + 'px)');
|
|
47
|
+
e.pageY && (style.transform = 'translateY(' + (e.pageY - offsetTop - that.scrollDiff) + 'px)');
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
it.initDraggedStyles = NOOP;
|
|
@@ -81,9 +81,13 @@ var DroppableList = function (_Component) {
|
|
|
81
81
|
draggables[props(it).id] = it;
|
|
82
82
|
};
|
|
83
83
|
});
|
|
84
|
+
orNoop(props$1().provideScrollListener)(function (e) {
|
|
85
|
+
if (!dragging) return;
|
|
86
|
+
that.scrollDiff = that.scroll - orNoop(props$1().getScrollPosition)() || 0;
|
|
87
|
+
});
|
|
84
88
|
};
|
|
85
89
|
var onHover = function onHover(e, draggable) {
|
|
86
|
-
var y = e.pageY - that.scrollOffsetY;
|
|
90
|
+
var y = e.pageY - that.scrollOffsetY - that.scrollDiff;
|
|
87
91
|
var transformUp = 'translateY(' + draggable.height + 'px)';
|
|
88
92
|
var transformDown = 'translateY(-' + draggable.height + 'px)';
|
|
89
93
|
list.forEach(function (id, i) {
|
|
@@ -109,6 +113,8 @@ var DroppableList = function (_Component) {
|
|
|
109
113
|
dropped = false;
|
|
110
114
|
oldIndex = list.indexOf(props(draggable).id);
|
|
111
115
|
that.scrollOffsetY = e.pageY - e.clientY;
|
|
116
|
+
that.scroll = orNoop(props$1().getScrollPosition)() || 0;
|
|
117
|
+
that.scrollDiff = 0;
|
|
112
118
|
list.forEach(function (id) {
|
|
113
119
|
draggables[id].bounds = draggables[id].element.getBoundingClientRect();
|
|
114
120
|
});
|
package/DroppableList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DroppableList.js","sources":["../src/react-ui-basics/DroppableList.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DroppableList.css'\nimport DNDDroppable from \"./DNDDroppable\";\nimport {classNames, orNoop, setTimeout, NOOP} from \"./Tools\";\nimport DNDDraggable from \"./DNDDraggable\";\nimport {addListener} from \"./DNDContainer\";\nimport {stateGS, setState, propsGetter, props as getProps, render, componentDidUpdate, componentDidMount, children} from \"./ReactConstants\";\n\nclass DroppableList extends Component {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const resetting = stateGS(that);\n const draggables = {};\n let list;\n\n const init = () => {\n list = [];\n React.Children.forEach(props()[children], child => {\n child && child.type === DNDDraggable && list.push(getProps(child).id);\n })\n };\n\n init();\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[children] !== props()[children]) {\n init();\n }\n };\n\n let dropped;\n let dragging;\n let oldIndex;\n let newIndex;\n\n that[componentDidMount] = () => {\n let inTransition = false;\n orNoop(props().provideDraggableEnhancer)(initializer => it => {\n orNoop(initializer)(it);\n it.createPositionListener = (e, style) => {\n const offsetTop = e.pageY;\n return e => {\n e.pageY && (style.transform = 'translateY(' + (e.pageY - offsetTop) + 'px)');\n };\n };\n it.initDraggedStyles = NOOP;\n it.onDragEnd = () => {\n const style = it.element.style;\n inTransition = true;\n setTimeout(() => {\n const droppingDuration = props().droppingDuration || 100;\n style.transition = 'transform ' + droppingDuration + 'ms linear';\n style.transform = '';\n style.zIndex = '10';\n setTimeout(() => {\n style.transition = '';\n style.zIndex = '';\n setTimeout(() => {\n inTransition = false;\n }, 50) // ignore mouseenter on the old position\n }, droppingDuration)\n }, 1);\n };\n addListener(it.element, it, 'mouseenter', (e) => {\n !(dragging || inTransition) && setState(it, {hover: true});\n });\n addListener(it.element, it, 'mouseleave', (e) => {\n !dragging && setState(it, {hover: false});\n });\n it.onUnmount = () => {\n delete draggables[getProps(it).id];\n };\n draggables[getProps(it).id] = it;\n })\n };\n\n const onHover = (e, draggable) => {\n const y = e.pageY - that.scrollOffsetY;\n const transformUp = 'translateY(' + draggable.height + 'px)';\n const transformDown = 'translateY(-' + draggable.height + 'px)';\n list.forEach((id, i) => {\n if (i !== oldIndex) {\n const d = draggables[id];\n const bounds = d.bounds;\n const style = d.element.style;\n if (i > oldIndex) {\n if (y >= bounds.top)\n style.transform = transformDown;\n else\n style.transform = '';\n } else {\n if (y <= bounds.bottom)\n style.transform = transformUp;\n else\n style.transform = '';\n }\n }\n });\n\n let i = list.findIndex(id => {\n let bounds = draggables[id].bounds;\n return y >= bounds.top && y <= bounds.bottom\n });\n\n newIndex = i !== -1 ? i : list.length;\n };\n\n const onDragStart = (e, draggable) => {\n dragging = true;\n dropped = false;\n oldIndex = list.indexOf(getProps(draggable).id);\n that.scrollOffsetY = e.pageY - e.clientY;\n\n list.forEach((id) => {\n draggables[id].bounds = draggables[id].element.getBoundingClientRect();\n });\n };\n\n const reset = (ignoredIndex, transition) => {\n list.forEach((id, i) => {\n if (i !== ignoredIndex) {\n const s = draggables[id].element.style;\n s.transform = '';\n s.transition = transition;\n }\n });\n };\n\n const onDragEnd = (draggable) => {\n const index = list.indexOf(getProps(draggable).id);\n\n if (dropped) {\n reset(index, '');\n } else {\n resetting(true, () => {\n reset(index, '');\n });\n setTimeout(() => {\n resetting(false);\n }, props().droppingDuration || 100);\n }\n dragging = false;\n };\n const onDrop = (data) => {\n dropped = true;\n const draggable = draggables[list[oldIndex]];\n const style = draggable.element.style;\n\n const diff = (newIndex - oldIndex) * draggable.bounds.height;\n const transform = style.transform;\n const position = transform.substring(11, transform.length - 3);\n style.transform = 'translateY(' + (position - diff) + 'px)'; // set translateY against new position on the list to prevent long slide\n\n orNoop(props().onDrop)(data, oldIndex, newIndex);\n\n reset(newIndex, 'unset');\n };\n\n that[render] = () => {\n const _props = props();\n const {className, initializer} = _props;\n return <DNDDroppable className={classNames(\n 'DroppableList',\n className,\n resetting() && 'resetting',\n )}\n initializer={initializer}\n onHover={onHover}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n >\n {_props[children]}\n </DNDDroppable>;\n };\n }\n}\n\n\nexport default DroppableList;"],"names":["DroppableList","properties","that","state","props","propsGetter","resetting","stateGS","draggables","list","init","React","Children","forEach","children","child","type","DNDDraggable","push","getProps","id","componentDidUpdate","prevProps","dropped","dragging","oldIndex","newIndex","componentDidMount","inTransition","orNoop","provideDraggableEnhancer","initializer","it","createPositionListener","e","style","offsetTop","pageY","transform","initDraggedStyles","NOOP","onDragEnd","element","setTimeout","droppingDuration","transition","zIndex","addListener","setState","hover","onUnmount","onHover","draggable","y","scrollOffsetY","transformUp","height","transformDown","i","d","bounds","top","bottom","findIndex","length","onDragStart","indexOf","clientY","getBoundingClientRect","reset","ignoredIndex","s","index","onDrop","data","diff","position","substring","render","_props","className","classNames","Component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DroppableList.js","sources":["../src/react-ui-basics/DroppableList.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DroppableList.css'\nimport DNDDroppable from \"./DNDDroppable\";\nimport {classNames, orNoop, setTimeout, NOOP} from \"./Tools\";\nimport DNDDraggable from \"./DNDDraggable\";\nimport {addListener} from \"./DNDContainer\";\nimport {stateGS, setState, propsGetter, props as getProps, render, componentDidUpdate, componentDidMount, children} from \"./ReactConstants\";\n\nclass DroppableList extends Component {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n\n const props = propsGetter(that);\n const resetting = stateGS(that);\n const draggables = {};\n let list;\n\n const init = () => {\n list = [];\n React.Children.forEach(props()[children], child => {\n child && child.type === DNDDraggable && list.push(getProps(child).id);\n })\n };\n\n init();\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[children] !== props()[children]) {\n init();\n }\n };\n\n let dropped;\n let dragging;\n let oldIndex;\n let newIndex;\n\n that[componentDidMount] = () => {\n let inTransition = false;\n orNoop(props().provideDraggableEnhancer)(initializer => it => {\n orNoop(initializer)(it);\n it.createPositionListener = (e, style) => {\n const offsetTop = e.pageY;\n return e => {\n e.pageY && (style.transform = 'translateY(' + (e.pageY - offsetTop - that.scrollDiff) + 'px)');\n };\n };\n it.initDraggedStyles = NOOP;\n it.onDragEnd = () => {\n const style = it.element.style;\n inTransition = true;\n setTimeout(() => {\n const droppingDuration = props().droppingDuration || 100;\n style.transition = 'transform ' + droppingDuration + 'ms linear';\n style.transform = '';\n style.zIndex = '10';\n setTimeout(() => {\n style.transition = '';\n style.zIndex = '';\n setTimeout(() => {\n inTransition = false;\n }, 50) // ignore mouseenter on the old position\n }, droppingDuration)\n }, 1);\n };\n addListener(it.element, it, 'mouseenter', (e) => {\n !(dragging || inTransition) && setState(it, {hover: true});\n });\n addListener(it.element, it, 'mouseleave', (e) => {\n !dragging && setState(it, {hover: false});\n });\n it.onUnmount = () => {\n delete draggables[getProps(it).id];\n };\n draggables[getProps(it).id] = it;\n })\n\n orNoop(props().provideScrollListener)(e => {\n if (!dragging)\n return\n\n that.scrollDiff = that.scroll - orNoop(props().getScrollPosition)() || 0;\n })\n };\n\n const onHover = (e, draggable) => {\n const y = e.pageY - that.scrollOffsetY - that.scrollDiff;\n const transformUp = 'translateY(' + draggable.height + 'px)';\n const transformDown = 'translateY(-' + draggable.height + 'px)';\n list.forEach((id, i) => {\n if (i !== oldIndex) {\n const d = draggables[id];\n const bounds = d.bounds;\n const style = d.element.style;\n if (i > oldIndex) {\n if (y >= bounds.top)\n style.transform = transformDown;\n else\n style.transform = '';\n } else {\n if (y <= bounds.bottom)\n style.transform = transformUp;\n else\n style.transform = '';\n }\n }\n });\n\n let i = list.findIndex(id => {\n let bounds = draggables[id].bounds;\n return y >= bounds.top && y <= bounds.bottom\n });\n\n newIndex = i !== -1 ? i : list.length;\n };\n\n const onDragStart = (e, draggable) => {\n dragging = true;\n dropped = false;\n oldIndex = list.indexOf(getProps(draggable).id);\n that.scrollOffsetY = e.pageY - e.clientY;\n that.scroll = orNoop(props().getScrollPosition)() || 0;\n that.scrollDiff = 0;\n\n list.forEach((id) => {\n draggables[id].bounds = draggables[id].element.getBoundingClientRect();\n });\n };\n\n const reset = (ignoredIndex, transition) => {\n list.forEach((id, i) => {\n if (i !== ignoredIndex) {\n const s = draggables[id].element.style;\n s.transform = '';\n s.transition = transition;\n }\n });\n };\n\n const onDragEnd = (draggable) => {\n const index = list.indexOf(getProps(draggable).id);\n\n if (dropped) {\n reset(index, '');\n } else {\n resetting(true, () => {\n reset(index, '');\n });\n setTimeout(() => {\n resetting(false);\n }, props().droppingDuration || 100);\n }\n dragging = false;\n };\n const onDrop = (data) => {\n dropped = true;\n const draggable = draggables[list[oldIndex]];\n const style = draggable.element.style;\n\n const diff = (newIndex - oldIndex) * draggable.bounds.height;\n const transform = style.transform;\n const position = transform.substring(11, transform.length - 3);\n style.transform = 'translateY(' + (position - diff) + 'px)'; // set translateY against new position on the list to prevent long slide\n\n orNoop(props().onDrop)(data, oldIndex, newIndex);\n\n reset(newIndex, 'unset');\n };\n\n that[render] = () => {\n const _props = props();\n const {className, initializer} = _props;\n return <DNDDroppable className={classNames(\n 'DroppableList',\n className,\n resetting() && 'resetting',\n )}\n initializer={initializer}\n onHover={onHover}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n onDrop={onDrop}\n >\n {_props[children]}\n </DNDDroppable>;\n };\n }\n}\n\n\nexport default DroppableList;"],"names":["DroppableList","properties","that","state","props","propsGetter","resetting","stateGS","draggables","list","init","React","Children","forEach","children","child","type","DNDDraggable","push","getProps","id","componentDidUpdate","prevProps","dropped","dragging","oldIndex","newIndex","componentDidMount","inTransition","orNoop","provideDraggableEnhancer","initializer","it","createPositionListener","e","style","offsetTop","pageY","transform","scrollDiff","initDraggedStyles","NOOP","onDragEnd","element","setTimeout","droppingDuration","transition","zIndex","addListener","setState","hover","onUnmount","provideScrollListener","scroll","getScrollPosition","onHover","draggable","y","scrollOffsetY","transformUp","height","transformDown","i","d","bounds","top","bottom","findIndex","length","onDragStart","indexOf","clientY","getBoundingClientRect","reset","ignoredIndex","s","index","onDrop","data","diff","position","substring","render","_props","className","classNames","Component"],"mappings":"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"}
|
package/Scrollable.js
CHANGED
|
@@ -23,6 +23,7 @@ var offsetHeightOf = createFieldGetter('offsetHeight');
|
|
|
23
23
|
var offsetWidthOf = createFieldGetter('offsetWidth');
|
|
24
24
|
var styleOf = createFieldGetter('style');
|
|
25
25
|
var scrollBarModeOf = createFieldGetter('scrollBarMode');
|
|
26
|
+
var onScroll = createFieldGetter('onScroll');
|
|
26
27
|
var horizontalScrollBarModeOf = createFieldGetter('horizontalScrollBarMode');
|
|
27
28
|
var Scrollable = function (_PureComponent) {
|
|
28
29
|
_inherits(Scrollable, _PureComponent);
|
|
@@ -69,6 +70,7 @@ var Scrollable = function (_PureComponent) {
|
|
|
69
70
|
var lastX = 0;
|
|
70
71
|
var ratio = 0;
|
|
71
72
|
var ratioH = 0;
|
|
73
|
+
var onScrollListener = onScroll(props());
|
|
72
74
|
viewport.onscroll = function (e) {
|
|
73
75
|
var scrollHeight = scrollHeightOf(viewport);
|
|
74
76
|
var offsetHeight = offsetHeightOf(viewport);
|
|
@@ -96,6 +98,7 @@ var Scrollable = function (_PureComponent) {
|
|
|
96
98
|
} else {
|
|
97
99
|
scrolledToTop = false;
|
|
98
100
|
}
|
|
101
|
+
onScrollListener && onScrollListener(e);
|
|
99
102
|
};
|
|
100
103
|
var reset = function reset() {
|
|
101
104
|
removeEventListener(WINDOW, 'mouseup', reset);
|
|
@@ -268,7 +271,7 @@ var Scrollable = function (_PureComponent) {
|
|
|
268
271
|
that[componentDidMount] = init;
|
|
269
272
|
that[componentWillUnmount] = clear;
|
|
270
273
|
that[componentDidUpdate] = function (prevProps) {
|
|
271
|
-
if (scrollBarModeOf(props()) !== scrollBarModeOf(prevProps)) init();
|
|
274
|
+
if (scrollBarModeOf(props()) !== scrollBarModeOf(prevProps)) init();else if (onScroll(props()) !== onScroll(prevProps)) init();
|
|
272
275
|
};
|
|
273
276
|
that.setScroll = function (y) {
|
|
274
277
|
viewportRef().scrollTop = y;
|
package/Scrollable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scrollable.js","sources":["../src/react-ui-basics/Scrollable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './Scrollable.css'\nimport {classNames, preventDefault, WINDOW, addEventListener, removeEventListener, setTimeout, clearTimeout, setInterval, clearInterval, createRef, orNoop, NOOP} 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';\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 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 containerRef = createRef();\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 = containerRef();\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\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 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 initTimeout = setTimeout(() => {\n resizeInterval = setInterval(() => {\n updateVerticalScrollbar();\n updateHorizontalScrollbar();\n }, 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 };\n\n that.setScroll = (y) => {\n viewportRef().scrollTop = y\n };\n that.getScroll = () => viewportRef().scrollTop;\n that.getScrollHeight = () => scrollHeightOf(viewportRef());\n that.getHeight = () => containerRef().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={containerRef}>\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]),\n horizontalScrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE]),\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","NATIVE_SCROLL_WIDTH","NATIVE_SCROLL_HEIGHT","WITHOUT_SCROLL","WITH_SCROLL","createFieldGetter","field","el","scrollHeightOf","scrollWidthOf","offsetHeightOf","offsetWidthOf","styleOf","scrollBarModeOf","horizontalScrollBarModeOf","Scrollable","properties","that","state","props","propsGetter","status","stateGS","statusH","containerRef","createRef","viewportRef","scrollbarRef","horizontalScrollbarRef","thumbRef","horizontalThumbRef","resizeInterval","initTimeout","clear","clearInterval","clearTimeout","init","viewport","scrollbar","scrollbarH","container","thumb","thumbH","scrolling","scrolledToBottom","scrolledToTop","adjustedScrollWidth","lastY","lastX","ratio","ratioH","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","setTimeout","setInterval","componentDidMount","componentWillUnmount","componentDidUpdate","prevProps","setScroll","y","getScroll","getScrollHeight","getHeight","render","_props","className","children","classNames","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/react-ui-basics/Scrollable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './Scrollable.css'\nimport {classNames, preventDefault, WINDOW, addEventListener, removeEventListener, setTimeout, clearTimeout, setInterval, clearInterval, createRef, orNoop, NOOP} 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';\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 containerRef = createRef();\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 = containerRef();\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 initTimeout = setTimeout(() => {\n resizeInterval = setInterval(() => {\n updateVerticalScrollbar();\n updateHorizontalScrollbar();\n }, 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 = () => containerRef().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={containerRef}>\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]),\n horizontalScrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE]),\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","NATIVE_SCROLL_WIDTH","NATIVE_SCROLL_HEIGHT","WITHOUT_SCROLL","WITH_SCROLL","createFieldGetter","field","el","scrollHeightOf","scrollWidthOf","offsetHeightOf","offsetWidthOf","styleOf","scrollBarModeOf","onScroll","horizontalScrollBarModeOf","Scrollable","properties","that","state","props","propsGetter","status","stateGS","statusH","containerRef","createRef","viewportRef","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","setTimeout","setInterval","componentDidMount","componentWillUnmount","componentDidUpdate","prevProps","setScroll","y","getScroll","getScrollHeight","getHeight","render","_props","className","children","classNames","PureComponent","defaultProps","horizontalScrollBarMode","window","isNotProductionEnvironment","propTypes","scrollBarMode","PropTypes","oneOf","string","object","func","bool"],"mappings":"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"}
|
package/ScrollableTable.js
CHANGED
|
@@ -5,6 +5,7 @@ import Table from './Table.js';
|
|
|
5
5
|
import Scrollable from './Scrollable.js';
|
|
6
6
|
import { render, props, PureComponent } from './ReactConstants.js';
|
|
7
7
|
import { createRef } from './Tools.js';
|
|
8
|
+
import 'prop-types';
|
|
8
9
|
|
|
9
10
|
var ScrollableTable = function (_PureComponent) {
|
|
10
11
|
_inherits(ScrollableTable, _PureComponent);
|
|
@@ -30,6 +31,9 @@ var ScrollableTable = function (_PureComponent) {
|
|
|
30
31
|
return ScrollableTable;
|
|
31
32
|
}(PureComponent);
|
|
32
33
|
var ScrollableTable$1 = ScrollableTable;
|
|
34
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
35
|
+
ScrollableTable.propTypes = Table.propTypes;
|
|
36
|
+
}
|
|
33
37
|
|
|
34
38
|
export { ScrollableTable$1 as default };
|
|
35
39
|
//# sourceMappingURL=ScrollableTable.js.map
|
package/ScrollableTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollableTable.js","sources":["../src/react-ui-basics/ScrollableTable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport Table from \"./Table\";\nimport Scrollable from \"./Scrollable\";\nimport \"./ScrollableTable.css\";\nimport {props, render, PureComponent} from \"./ReactConstants\";\nimport {createRef} from \"./Tools\";\n\nclass ScrollableTable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n\n const scrollableRef = createRef();\n\n that[render] = () => {\n return <div className={`ScrollableTable`}>\n <Scrollable ref={scrollableRef} {...props(that).scrollableProps}>\n <Table {...props(that)}/>\n </Scrollable>\n </div>;\n }\n that.getScrollable = () => scrollableRef()\n }\n}\n\nexport default ScrollableTable"],"names":["ScrollableTable","properties","that","scrollableRef","createRef","render","props","scrollableProps","getScrollable","PureComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScrollableTable.js","sources":["../src/react-ui-basics/ScrollableTable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport Table from \"./Table\";\nimport Scrollable from \"./Scrollable\";\nimport \"./ScrollableTable.css\";\nimport {props, render, PureComponent} from \"./ReactConstants\";\nimport {createRef} from \"./Tools\";\nimport PropTypes from \"prop-types\";\n\nclass ScrollableTable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n\n const scrollableRef = createRef();\n\n that[render] = () => {\n return <div className={`ScrollableTable`}>\n <Scrollable ref={scrollableRef} {...props(that).scrollableProps}>\n <Table {...props(that)}/>\n </Scrollable>\n </div>;\n }\n that.getScrollable = () => scrollableRef()\n }\n}\n\nexport default ScrollableTable\n\nif (window.isNotProductionEnvironment) {\n ScrollableTable.propTypes = Table.propTypes;\n}"],"names":["ScrollableTable","properties","that","scrollableRef","createRef","render","props","scrollableProps","getScrollable","PureComponent","window","isNotProductionEnvironment","propTypes","Table"],"mappings":";;;;;;;;;IASMA;;;AAEF,2BAAYC,UAAZ,EAAwB;AAAA;AAAA;AACpB,8BAAMA,UAAN;AACA,QAAMC,IAAI,gCAAV;AAEA,QAAMC,aAAa,GAAGC,SAAS,EAA/B;AAEAF,IAAAA,IAAI,CAACG,MAAD,CAAJ,GAAe,YAAM;AACjB,aAAO;AAAK,QAAA,SAAS;AAAd,SACH,mBAAC,UAAD;AAAY,QAAA,GAAG,EAAEF;AAAjB,SAAoCG,KAAK,CAACJ,IAAD,CAAL,CAAYK,eAAhD,GACI,mBAAC,KAAD,EAAWD,KAAK,CAACJ,IAAD,CAAhB,CADJ,CADG,CAAP;AAKH,KAND;AAOAA,IAAAA,IAAI,CAACM,aAAL,GAAqB;AAAA,aAAML,aAAa,EAAnB;AAAA,KAArB;AAboB;AAcvB;;EAhByBM;AAmB9B,wBAAeT,eAAf;AAEA,IAAIU,MAAM,CAACC,0BAAX,EAAuC;AACnCX,EAAAA,eAAe,CAACY,SAAhB,GAA4BC,KAAK,CAACD,SAAlC;AACH;;;;"}
|
package/bundle.css
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
.animated {
|
|
2
|
-
transition: opacity 250ms ease;
|
|
3
|
-
opacity: 0;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.animated.mounting, .animated.mounted {
|
|
7
|
-
opacity: 1;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
1
|
.Button {
|
|
11
2
|
position: relative;
|
|
12
3
|
min-width: 64px;
|
|
@@ -239,6 +230,15 @@
|
|
|
239
230
|
background: rgba(0, 0, 0, 0.26);
|
|
240
231
|
}
|
|
241
232
|
|
|
233
|
+
.animated {
|
|
234
|
+
transition: opacity 250ms ease;
|
|
235
|
+
opacity: 0;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.animated.mounting, .animated.mounted {
|
|
239
|
+
opacity: 1;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
242
|
.CircleProgress {
|
|
243
243
|
width: 48px;
|
|
244
244
|
height: 48px;
|
|
@@ -616,6 +616,38 @@
|
|
|
616
616
|
margin-right: 10px;
|
|
617
617
|
}
|
|
618
618
|
|
|
619
|
+
.DNDContainer {
|
|
620
|
+
position: relative;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
.DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
|
|
624
|
+
cursor: pointer;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
.DNDContainer .Draggable.placeholder {
|
|
628
|
+
opacity: 0.2;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
.DNDContainer .Draggable.copy {
|
|
632
|
+
position: absolute;
|
|
633
|
+
box-sizing: border-box;
|
|
634
|
+
will-change: transform;
|
|
635
|
+
opacity: 0;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
.DNDContainer .Draggable.dragged {
|
|
639
|
+
z-index: 10;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.DNDContainer .overlay {
|
|
643
|
+
position: absolute;
|
|
644
|
+
top: 0;
|
|
645
|
+
left: 0;
|
|
646
|
+
right: 0;
|
|
647
|
+
bottom: 0;
|
|
648
|
+
pointer-events: none;
|
|
649
|
+
}
|
|
650
|
+
|
|
619
651
|
.FilteredList {
|
|
620
652
|
max-height: 250px;
|
|
621
653
|
position: relative;
|
|
@@ -781,38 +813,6 @@
|
|
|
781
813
|
bottom: -100px;
|
|
782
814
|
}
|
|
783
815
|
|
|
784
|
-
.DNDContainer {
|
|
785
|
-
position: relative;
|
|
786
|
-
}
|
|
787
|
-
|
|
788
|
-
.DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
|
|
789
|
-
cursor: pointer;
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
.DNDContainer .Draggable.placeholder {
|
|
793
|
-
opacity: 0.2;
|
|
794
|
-
}
|
|
795
|
-
|
|
796
|
-
.DNDContainer .Draggable.copy {
|
|
797
|
-
position: absolute;
|
|
798
|
-
box-sizing: border-box;
|
|
799
|
-
will-change: transform;
|
|
800
|
-
opacity: 0;
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
.DNDContainer .Draggable.dragged {
|
|
804
|
-
z-index: 10;
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
.DNDContainer .overlay {
|
|
808
|
-
position: absolute;
|
|
809
|
-
top: 0;
|
|
810
|
-
left: 0;
|
|
811
|
-
right: 0;
|
|
812
|
-
bottom: 0;
|
|
813
|
-
pointer-events: none;
|
|
814
|
-
}
|
|
815
|
-
|
|
816
816
|
.ImageGallery {
|
|
817
817
|
position: fixed;
|
|
818
818
|
top: 0;
|
|
@@ -1048,76 +1048,6 @@
|
|
|
1048
1048
|
font-size: 24px;
|
|
1049
1049
|
}
|
|
1050
1050
|
|
|
1051
|
-
.Modal {
|
|
1052
|
-
display: block;
|
|
1053
|
-
position: fixed;
|
|
1054
|
-
top: 0;
|
|
1055
|
-
left: 0;
|
|
1056
|
-
right: 0;
|
|
1057
|
-
bottom: 100%;
|
|
1058
|
-
overflow-y: scroll;
|
|
1059
|
-
transition: bottom 0ms linear;
|
|
1060
|
-
transition-delay: 0.2s;
|
|
1061
|
-
}
|
|
1062
|
-
|
|
1063
|
-
.Modal.show {
|
|
1064
|
-
transition-delay: 0s;
|
|
1065
|
-
bottom: 0;
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
.Modal > .overlay {
|
|
1069
|
-
position: fixed;
|
|
1070
|
-
top: 0;
|
|
1071
|
-
bottom: 100%;
|
|
1072
|
-
left: 0;
|
|
1073
|
-
right: 0;
|
|
1074
|
-
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1075
|
-
opacity: 0;
|
|
1076
|
-
background-color: black;
|
|
1077
|
-
pointer-events: none;
|
|
1078
|
-
}
|
|
1079
|
-
|
|
1080
|
-
.Modal > .overlay.show {
|
|
1081
|
-
opacity: 0.5;
|
|
1082
|
-
bottom: 0;
|
|
1083
|
-
}
|
|
1084
|
-
|
|
1085
|
-
.Modal > .content {
|
|
1086
|
-
left: 50%;
|
|
1087
|
-
top: 10vh;
|
|
1088
|
-
margin-bottom: 10vh;
|
|
1089
|
-
font-size: 16px;
|
|
1090
|
-
padding: 0;
|
|
1091
|
-
opacity: 0;
|
|
1092
|
-
transition: opacity 0.25s ease, transform 0.25s ease;
|
|
1093
|
-
transform: scaleY(0) translateY(-200px) translateX(-50%);
|
|
1094
|
-
transform-origin: top;
|
|
1095
|
-
position: absolute;
|
|
1096
|
-
border-radius: 2px;
|
|
1097
|
-
box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
|
|
1098
|
-
}
|
|
1099
|
-
|
|
1100
|
-
.Modal > .content.show {
|
|
1101
|
-
opacity: 1;
|
|
1102
|
-
transform: scaleY(1) translateY(0px) translateX(-50%);
|
|
1103
|
-
}
|
|
1104
|
-
|
|
1105
|
-
.Modal > .content > .Scrollable {
|
|
1106
|
-
overflow: visible;
|
|
1107
|
-
max-height: 80vh;
|
|
1108
|
-
}
|
|
1109
|
-
|
|
1110
|
-
.Modal > .content > .Scrollable > .viewport {
|
|
1111
|
-
min-width: 10px;
|
|
1112
|
-
min-height: 10px;
|
|
1113
|
-
}
|
|
1114
|
-
|
|
1115
|
-
.Modal > .content > .Button.close {
|
|
1116
|
-
top: 10px;
|
|
1117
|
-
right: 10px;
|
|
1118
|
-
position: absolute;
|
|
1119
|
-
}
|
|
1120
|
-
|
|
1121
1051
|
.FormUploadProgress {
|
|
1122
1052
|
position: absolute;
|
|
1123
1053
|
left: 0;
|
|
@@ -1187,43 +1117,6 @@
|
|
|
1187
1117
|
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
|
|
1188
1118
|
}
|
|
1189
1119
|
|
|
1190
|
-
.ModalMenu {
|
|
1191
|
-
position: absolute;
|
|
1192
|
-
top: 10px;
|
|
1193
|
-
right: 50px;
|
|
1194
|
-
}
|
|
1195
|
-
|
|
1196
|
-
.ModalMenu .material-icons {
|
|
1197
|
-
color: #818181;
|
|
1198
|
-
}
|
|
1199
|
-
|
|
1200
|
-
.ModalMenu .Button.animated {
|
|
1201
|
-
position: absolute;
|
|
1202
|
-
transition: opacity 150ms ease-in, right 200ms ease-in;
|
|
1203
|
-
opacity: 0;
|
|
1204
|
-
right: 0;
|
|
1205
|
-
top: 0;
|
|
1206
|
-
}
|
|
1207
|
-
|
|
1208
|
-
.ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
|
|
1209
|
-
opacity: 1;
|
|
1210
|
-
}
|
|
1211
|
-
|
|
1212
|
-
.ModalMenu .Button.animated.unmounting {
|
|
1213
|
-
transition: opacity 100ms ease-out, right 200ms ease-out;
|
|
1214
|
-
}
|
|
1215
|
-
|
|
1216
|
-
.ModalMenu .Button.active {
|
|
1217
|
-
background: #EBEBEB;
|
|
1218
|
-
}
|
|
1219
|
-
|
|
1220
|
-
.ModalMenu .separator {
|
|
1221
|
-
height: 24px;
|
|
1222
|
-
width: 1px;
|
|
1223
|
-
background-color: #D9D9D9;
|
|
1224
|
-
margin-left: 4px;
|
|
1225
|
-
}
|
|
1226
|
-
|
|
1227
1120
|
.Scrollable {
|
|
1228
1121
|
max-height: 250px;
|
|
1229
1122
|
max-width: 250px;
|
|
@@ -1319,62 +1212,124 @@
|
|
|
1319
1212
|
will-change: left;
|
|
1320
1213
|
}
|
|
1321
1214
|
|
|
1322
|
-
.
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
padding: 14px 24px 14px 24px;
|
|
1327
|
-
color: #fff;
|
|
1328
|
-
min-width: 288px;
|
|
1329
|
-
max-width: 568px;
|
|
1330
|
-
position: fixed;
|
|
1331
|
-
bottom: -50px;
|
|
1332
|
-
left: 50%;
|
|
1333
|
-
display: flex;
|
|
1334
|
-
flex-wrap: nowrap;
|
|
1335
|
-
align-items: center;
|
|
1336
|
-
opacity: 0;
|
|
1337
|
-
transition: bottom 0.25s ease, opacity 0.2s ease;
|
|
1338
|
-
border-radius: 4px;
|
|
1339
|
-
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
|
|
1215
|
+
.ModalMenu {
|
|
1216
|
+
position: absolute;
|
|
1217
|
+
top: 10px;
|
|
1218
|
+
right: 50px;
|
|
1340
1219
|
}
|
|
1341
1220
|
|
|
1342
|
-
.
|
|
1343
|
-
|
|
1344
|
-
opacity: 1;
|
|
1221
|
+
.ModalMenu .material-icons {
|
|
1222
|
+
color: #818181;
|
|
1345
1223
|
}
|
|
1346
1224
|
|
|
1347
|
-
.
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1225
|
+
.ModalMenu .Button.animated {
|
|
1226
|
+
position: absolute;
|
|
1227
|
+
transition: opacity 150ms ease-in, right 200ms ease-in;
|
|
1228
|
+
opacity: 0;
|
|
1229
|
+
right: 0;
|
|
1230
|
+
top: 0;
|
|
1353
1231
|
}
|
|
1354
1232
|
|
|
1355
|
-
.
|
|
1356
|
-
|
|
1357
|
-
font-weight: bold;
|
|
1358
|
-
margin-left: 48px;
|
|
1359
|
-
color: #bf3727;
|
|
1233
|
+
.ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
|
|
1234
|
+
opacity: 1;
|
|
1360
1235
|
}
|
|
1361
1236
|
|
|
1362
|
-
.
|
|
1363
|
-
|
|
1364
|
-
color: #bf3727;
|
|
1237
|
+
.ModalMenu .Button.animated.unmounting {
|
|
1238
|
+
transition: opacity 100ms ease-out, right 200ms ease-out;
|
|
1365
1239
|
}
|
|
1366
1240
|
|
|
1367
|
-
.
|
|
1368
|
-
|
|
1369
|
-
height: 48px;
|
|
1370
|
-
position: relative;
|
|
1371
|
-
margin: 0 auto;
|
|
1241
|
+
.ModalMenu .Button.active {
|
|
1242
|
+
background: #EBEBEB;
|
|
1372
1243
|
}
|
|
1373
1244
|
|
|
1374
|
-
.
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1245
|
+
.ModalMenu .separator {
|
|
1246
|
+
height: 24px;
|
|
1247
|
+
width: 1px;
|
|
1248
|
+
background-color: #D9D9D9;
|
|
1249
|
+
margin-left: 4px;
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
.Modal {
|
|
1253
|
+
display: block;
|
|
1254
|
+
position: fixed;
|
|
1255
|
+
top: 0;
|
|
1256
|
+
left: 0;
|
|
1257
|
+
right: 0;
|
|
1258
|
+
bottom: 100%;
|
|
1259
|
+
overflow-y: scroll;
|
|
1260
|
+
transition: bottom 0ms linear;
|
|
1261
|
+
transition-delay: 0.2s;
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
.Modal.show {
|
|
1265
|
+
transition-delay: 0s;
|
|
1266
|
+
bottom: 0;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
.Modal > .overlay {
|
|
1270
|
+
position: fixed;
|
|
1271
|
+
top: 0;
|
|
1272
|
+
bottom: 100%;
|
|
1273
|
+
left: 0;
|
|
1274
|
+
right: 0;
|
|
1275
|
+
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1276
|
+
opacity: 0;
|
|
1277
|
+
background-color: black;
|
|
1278
|
+
pointer-events: none;
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
.Modal > .overlay.show {
|
|
1282
|
+
opacity: 0.5;
|
|
1283
|
+
bottom: 0;
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
.Modal > .content {
|
|
1287
|
+
left: 50%;
|
|
1288
|
+
top: 10vh;
|
|
1289
|
+
margin-bottom: 10vh;
|
|
1290
|
+
font-size: 16px;
|
|
1291
|
+
padding: 0;
|
|
1292
|
+
opacity: 0;
|
|
1293
|
+
transition: opacity 0.25s ease, transform 0.25s ease;
|
|
1294
|
+
transform: scaleY(0) translateY(-200px) translateX(-50%);
|
|
1295
|
+
transform-origin: top;
|
|
1296
|
+
position: absolute;
|
|
1297
|
+
border-radius: 2px;
|
|
1298
|
+
box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.3);
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
.Modal > .content.show {
|
|
1302
|
+
opacity: 1;
|
|
1303
|
+
transform: scaleY(1) translateY(0px) translateX(-50%);
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
.Modal > .content > .Scrollable {
|
|
1307
|
+
overflow: visible;
|
|
1308
|
+
max-height: 80vh;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
.Modal > .content > .Scrollable > .viewport {
|
|
1312
|
+
min-width: 10px;
|
|
1313
|
+
min-height: 10px;
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
.Modal > .content > .Button.close {
|
|
1317
|
+
top: 10px;
|
|
1318
|
+
right: 10px;
|
|
1319
|
+
position: absolute;
|
|
1320
|
+
}
|
|
1321
|
+
|
|
1322
|
+
.SpinningProgress {
|
|
1323
|
+
width: 48px;
|
|
1324
|
+
height: 48px;
|
|
1325
|
+
position: relative;
|
|
1326
|
+
margin: 0 auto;
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
.SpinningProgress:before {
|
|
1330
|
+
content: "";
|
|
1331
|
+
display: block;
|
|
1332
|
+
padding-top: 100%;
|
|
1378
1333
|
}
|
|
1379
1334
|
|
|
1380
1335
|
.SpinningProgress .circular {
|
|
@@ -1417,88 +1372,6 @@
|
|
|
1417
1372
|
stroke-dashoffset: -53px;
|
|
1418
1373
|
}
|
|
1419
1374
|
}
|
|
1420
|
-
.Switch {
|
|
1421
|
-
display: inline-flex;
|
|
1422
|
-
padding-top: 5px;
|
|
1423
|
-
}
|
|
1424
|
-
|
|
1425
|
-
.Switch .switch-input {
|
|
1426
|
-
display: none;
|
|
1427
|
-
}
|
|
1428
|
-
|
|
1429
|
-
.Switch .switch-label {
|
|
1430
|
-
position: relative;
|
|
1431
|
-
display: inline-flex;
|
|
1432
|
-
align-items: center;
|
|
1433
|
-
min-width: 38px;
|
|
1434
|
-
height: 24px;
|
|
1435
|
-
cursor: pointer;
|
|
1436
|
-
font-weight: 500;
|
|
1437
|
-
text-align: left;
|
|
1438
|
-
user-select: none;
|
|
1439
|
-
margin: 0;
|
|
1440
|
-
padding: 0;
|
|
1441
|
-
padding-left: 44px;
|
|
1442
|
-
box-sizing: border-box;
|
|
1443
|
-
}
|
|
1444
|
-
|
|
1445
|
-
.Switch .switch-label:before, .Switch .switch-label:after {
|
|
1446
|
-
content: "";
|
|
1447
|
-
box-sizing: border-box;
|
|
1448
|
-
position: absolute;
|
|
1449
|
-
margin: 0;
|
|
1450
|
-
outline: 0;
|
|
1451
|
-
top: 50%;
|
|
1452
|
-
transform: translate(0, -50%);
|
|
1453
|
-
transition: all 0.3s ease;
|
|
1454
|
-
}
|
|
1455
|
-
|
|
1456
|
-
.Switch .switch-label:before {
|
|
1457
|
-
left: 1px;
|
|
1458
|
-
width: 34px;
|
|
1459
|
-
height: 14px;
|
|
1460
|
-
background-color: #9E9E9E;
|
|
1461
|
-
border-radius: 8px;
|
|
1462
|
-
}
|
|
1463
|
-
|
|
1464
|
-
.Switch .switch-label:after {
|
|
1465
|
-
left: 0;
|
|
1466
|
-
width: 20px;
|
|
1467
|
-
height: 20px;
|
|
1468
|
-
background-color: #FAFAFA;
|
|
1469
|
-
border-radius: 50%;
|
|
1470
|
-
box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
|
|
1471
|
-
}
|
|
1472
|
-
|
|
1473
|
-
.Switch .switch-label .toggle--on {
|
|
1474
|
-
display: none;
|
|
1475
|
-
}
|
|
1476
|
-
|
|
1477
|
-
.Switch .switch-label .toggle--off {
|
|
1478
|
-
display: inline-block;
|
|
1479
|
-
}
|
|
1480
|
-
|
|
1481
|
-
.Switch .switch-label .label {
|
|
1482
|
-
margin-right: 5px;
|
|
1483
|
-
}
|
|
1484
|
-
|
|
1485
|
-
.Switch .switch-input:checked + .switch-label:before {
|
|
1486
|
-
background-color: #A5D6A7;
|
|
1487
|
-
}
|
|
1488
|
-
|
|
1489
|
-
.Switch .switch-input:checked + .switch-label:after {
|
|
1490
|
-
background-color: #4CAF50;
|
|
1491
|
-
transform: translate(80%, -50%);
|
|
1492
|
-
}
|
|
1493
|
-
|
|
1494
|
-
.Switch .switch-input:checked + .switch-label .toggle--on {
|
|
1495
|
-
display: inline-block;
|
|
1496
|
-
}
|
|
1497
|
-
|
|
1498
|
-
.Switch .switch-input:checked + .switch-label .toggle--off {
|
|
1499
|
-
display: none;
|
|
1500
|
-
}
|
|
1501
|
-
|
|
1502
1375
|
.TextField {
|
|
1503
1376
|
position: relative;
|
|
1504
1377
|
width: 100%;
|
|
@@ -1642,6 +1515,51 @@
|
|
|
1642
1515
|
animation-name: shake;
|
|
1643
1516
|
}
|
|
1644
1517
|
|
|
1518
|
+
.Snackbar {
|
|
1519
|
+
transform: translateX(-50%);
|
|
1520
|
+
overflow: hidden;
|
|
1521
|
+
background-color: #323232;
|
|
1522
|
+
padding: 14px 24px 14px 24px;
|
|
1523
|
+
color: #fff;
|
|
1524
|
+
min-width: 288px;
|
|
1525
|
+
max-width: 568px;
|
|
1526
|
+
position: fixed;
|
|
1527
|
+
bottom: -50px;
|
|
1528
|
+
left: 50%;
|
|
1529
|
+
display: flex;
|
|
1530
|
+
flex-wrap: nowrap;
|
|
1531
|
+
align-items: center;
|
|
1532
|
+
opacity: 0;
|
|
1533
|
+
transition: bottom 0.25s ease, opacity 0.2s ease;
|
|
1534
|
+
border-radius: 4px;
|
|
1535
|
+
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
|
|
1536
|
+
}
|
|
1537
|
+
|
|
1538
|
+
.Snackbar.shown {
|
|
1539
|
+
bottom: 15px;
|
|
1540
|
+
opacity: 1;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
.Snackbar .message {
|
|
1544
|
+
overflow: hidden;
|
|
1545
|
+
line-height: 1.2em;
|
|
1546
|
+
min-height: 1.2em;
|
|
1547
|
+
max-height: 2.4em;
|
|
1548
|
+
flex: 1;
|
|
1549
|
+
}
|
|
1550
|
+
|
|
1551
|
+
.Snackbar .action {
|
|
1552
|
+
text-transform: uppercase;
|
|
1553
|
+
font-weight: bold;
|
|
1554
|
+
margin-left: 48px;
|
|
1555
|
+
color: #bf3727;
|
|
1556
|
+
}
|
|
1557
|
+
|
|
1558
|
+
.Snackbar .action a {
|
|
1559
|
+
text-decoration: none;
|
|
1560
|
+
color: #bf3727;
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1645
1563
|
.Table {
|
|
1646
1564
|
font-family: Roboto, sans-serif;
|
|
1647
1565
|
font-size: 14px;
|
|
@@ -1756,14 +1674,6 @@
|
|
|
1756
1674
|
background-color: #f0f0f0;
|
|
1757
1675
|
}
|
|
1758
1676
|
|
|
1759
|
-
.ScrollableTable .Scrollable .scrollbar {
|
|
1760
|
-
top: 56px;
|
|
1761
|
-
}
|
|
1762
|
-
|
|
1763
|
-
.ScrollableTable .Table {
|
|
1764
|
-
position: static;
|
|
1765
|
-
}
|
|
1766
|
-
|
|
1767
1677
|
.DNDContainer .DroppableList .Draggable {
|
|
1768
1678
|
transform: unset;
|
|
1769
1679
|
transition: unset;
|
|
@@ -1780,4 +1690,94 @@
|
|
|
1780
1690
|
|
|
1781
1691
|
.DNDContainer .DroppableList.resetting .Draggable {
|
|
1782
1692
|
transition: transform 0.1s ease-in;
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
.ScrollableTable .Scrollable .scrollbar {
|
|
1696
|
+
top: 56px;
|
|
1697
|
+
}
|
|
1698
|
+
|
|
1699
|
+
.ScrollableTable .Table {
|
|
1700
|
+
position: static;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
.Switch {
|
|
1704
|
+
display: inline-flex;
|
|
1705
|
+
padding-top: 5px;
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1708
|
+
.Switch .switch-input {
|
|
1709
|
+
display: none;
|
|
1710
|
+
}
|
|
1711
|
+
|
|
1712
|
+
.Switch .switch-label {
|
|
1713
|
+
position: relative;
|
|
1714
|
+
display: inline-flex;
|
|
1715
|
+
align-items: center;
|
|
1716
|
+
min-width: 38px;
|
|
1717
|
+
height: 24px;
|
|
1718
|
+
cursor: pointer;
|
|
1719
|
+
font-weight: 500;
|
|
1720
|
+
text-align: left;
|
|
1721
|
+
user-select: none;
|
|
1722
|
+
margin: 0;
|
|
1723
|
+
padding: 0;
|
|
1724
|
+
padding-left: 44px;
|
|
1725
|
+
box-sizing: border-box;
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
.Switch .switch-label:before, .Switch .switch-label:after {
|
|
1729
|
+
content: "";
|
|
1730
|
+
box-sizing: border-box;
|
|
1731
|
+
position: absolute;
|
|
1732
|
+
margin: 0;
|
|
1733
|
+
outline: 0;
|
|
1734
|
+
top: 50%;
|
|
1735
|
+
transform: translate(0, -50%);
|
|
1736
|
+
transition: all 0.3s ease;
|
|
1737
|
+
}
|
|
1738
|
+
|
|
1739
|
+
.Switch .switch-label:before {
|
|
1740
|
+
left: 1px;
|
|
1741
|
+
width: 34px;
|
|
1742
|
+
height: 14px;
|
|
1743
|
+
background-color: #9E9E9E;
|
|
1744
|
+
border-radius: 8px;
|
|
1745
|
+
}
|
|
1746
|
+
|
|
1747
|
+
.Switch .switch-label:after {
|
|
1748
|
+
left: 0;
|
|
1749
|
+
width: 20px;
|
|
1750
|
+
height: 20px;
|
|
1751
|
+
background-color: #FAFAFA;
|
|
1752
|
+
border-radius: 50%;
|
|
1753
|
+
box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
.Switch .switch-label .toggle--on {
|
|
1757
|
+
display: none;
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1760
|
+
.Switch .switch-label .toggle--off {
|
|
1761
|
+
display: inline-block;
|
|
1762
|
+
}
|
|
1763
|
+
|
|
1764
|
+
.Switch .switch-label .label {
|
|
1765
|
+
margin-right: 5px;
|
|
1766
|
+
}
|
|
1767
|
+
|
|
1768
|
+
.Switch .switch-input:checked + .switch-label:before {
|
|
1769
|
+
background-color: #A5D6A7;
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
.Switch .switch-input:checked + .switch-label:after {
|
|
1773
|
+
background-color: #4CAF50;
|
|
1774
|
+
transform: translate(80%, -50%);
|
|
1775
|
+
}
|
|
1776
|
+
|
|
1777
|
+
.Switch .switch-input:checked + .switch-label .toggle--on {
|
|
1778
|
+
display: inline-block;
|
|
1779
|
+
}
|
|
1780
|
+
|
|
1781
|
+
.Switch .switch-input:checked + .switch-label .toggle--off {
|
|
1782
|
+
display: none;
|
|
1783
1783
|
}
|