@elliemae/ds-shared 2.3.0-next.3 → 3.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Animations/BaseAnimation.js +56 -0
- package/dist/cjs/Animations/BaseAnimation.js.map +7 -0
- package/dist/cjs/Animations/Grow.js +55 -0
- package/dist/cjs/Animations/Grow.js.map +7 -0
- package/dist/cjs/Animations/GrowRight.js +64 -0
- package/dist/cjs/Animations/GrowRight.js.map +7 -0
- package/dist/cjs/Animations/GrowVertical.js +47 -0
- package/dist/cjs/Animations/GrowVertical.js.map +7 -0
- package/dist/cjs/CheckableGroup.js +76 -0
- package/dist/cjs/CheckableGroup.js.map +7 -0
- package/dist/cjs/DeferRenderAfterComputation.js +52 -0
- package/dist/cjs/DeferRenderAfterComputation.js.map +7 -0
- package/dist/cjs/FocusGroup/FocusGrid.js +180 -0
- package/dist/cjs/FocusGroup/FocusGrid.js.map +7 -0
- package/dist/cjs/FocusGroup/FocusGroup.js +249 -0
- package/dist/cjs/FocusGroup/FocusGroup.js.map +7 -0
- package/dist/cjs/FocusGroup/FocusGroupContext.js +38 -0
- package/dist/cjs/FocusGroup/FocusGroupContext.js.map +7 -0
- package/dist/cjs/FocusGroup/FocusGroupManager.js +126 -0
- package/dist/cjs/FocusGroup/FocusGroupManager.js.map +7 -0
- package/dist/cjs/FocusGroup/focusGroupManagerHoc.js +54 -0
- package/dist/cjs/FocusGroup/focusGroupManagerHoc.js.map +7 -0
- package/dist/cjs/FocusGroup/index.js +47 -0
- package/dist/cjs/FocusGroup/index.js.map +7 -0
- package/dist/cjs/FocusGroup/useFocusGroupItem.js +67 -0
- package/dist/cjs/FocusGroup/useFocusGroupItem.js.map +7 -0
- package/dist/cjs/FocusGroup/utils/getNextCellPosition.js +80 -0
- package/dist/cjs/FocusGroup/utils/getNextCellPosition.js.map +7 -0
- package/dist/cjs/GroupContext/Group.js +115 -0
- package/dist/cjs/GroupContext/Group.js.map +7 -0
- package/dist/cjs/GroupContext/GroupContext.js +36 -0
- package/dist/cjs/GroupContext/GroupContext.js.map +7 -0
- package/dist/cjs/GroupContext/GroupItem.js +40 -0
- package/dist/cjs/GroupContext/GroupItem.js.map +7 -0
- package/dist/cjs/GroupContext/index.js +39 -0
- package/dist/cjs/GroupContext/index.js.map +7 -0
- package/dist/cjs/ScrollSync/ScrollSync.js +138 -0
- package/dist/cjs/ScrollSync/ScrollSync.js.map +7 -0
- package/dist/cjs/ScrollSync/ScrollSyncPane.js +73 -0
- package/dist/cjs/ScrollSync/ScrollSyncPane.js.map +7 -0
- package/dist/cjs/ScrollSync/ScrollSyncProvider.js +120 -0
- package/dist/cjs/ScrollSync/ScrollSyncProvider.js.map +7 -0
- package/dist/cjs/ScrollSync/index.js +37 -0
- package/dist/cjs/ScrollSync/index.js.map +7 -0
- package/dist/cjs/ScrollSync/useScrollSync.js +41 -0
- package/dist/cjs/ScrollSync/useScrollSync.js.map +7 -0
- package/dist/cjs/constants.js +70 -0
- package/dist/cjs/constants.js.map +7 -0
- package/dist/cjs/createDataInstance/createInstancePlugin.js +48 -0
- package/dist/cjs/createDataInstance/createInstancePlugin.js.map +7 -0
- package/dist/cjs/createDataInstance/createInstanceRef.js +92 -0
- package/dist/cjs/createDataInstance/createInstanceRef.js.map +7 -0
- package/dist/cjs/createDataInstance/utils.js +99 -0
- package/dist/cjs/createDataInstance/utils.js.map +7 -0
- package/dist/cjs/defer-render-hoc/index.js +56 -0
- package/dist/cjs/defer-render-hoc/index.js.map +7 -0
- package/dist/cjs/dimsum.config.js +39 -0
- package/dist/cjs/dimsum.config.js.map +7 -0
- package/dist/cjs/index.js +40 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/prop-types.js +116 -0
- package/dist/cjs/prop-types.js.map +7 -0
- package/dist/cjs/react-spring/index.js +28 -0
- package/dist/cjs/react-spring/index.js.map +7 -0
- package/dist/cjs/react-spring/renderprops.js +28 -0
- package/dist/cjs/react-spring/renderprops.js.map +7 -0
- package/dist/cjs/toolbar/ToolbarProvider.js +111 -0
- package/dist/cjs/toolbar/ToolbarProvider.js.map +7 -0
- package/dist/cjs/useDataGrid/VolatileRowsListener.js +49 -0
- package/dist/cjs/useDataGrid/VolatileRowsListener.js.map +7 -0
- package/dist/cjs/useDataGrid/index.js +36 -0
- package/dist/cjs/useDataGrid/index.js.map +7 -0
- package/dist/cjs/useDataGrid/initColumnDefinition.js +141 -0
- package/dist/cjs/useDataGrid/initColumnDefinition.js.map +7 -0
- package/dist/cjs/useDataGrid/useDataGrid.js +194 -0
- package/dist/cjs/useDataGrid/useDataGrid.js.map +7 -0
- package/dist/cjs/useDataList/index.js +36 -0
- package/dist/cjs/useDataList/index.js.map +7 -0
- package/dist/cjs/useDataList/recordIterator.js +55 -0
- package/dist/cjs/useDataList/recordIterator.js.map +7 -0
- package/dist/cjs/useDataList/useDataList.js +93 -0
- package/dist/cjs/useDataList/useDataList.js.map +7 -0
- package/dist/cjs/utils.js +107 -0
- package/dist/cjs/utils.js.map +7 -0
- package/dist/cjs/virtualization/AutoHeightList.js +69 -0
- package/dist/cjs/virtualization/AutoHeightList.js.map +7 -0
- package/dist/cjs/virtualization/FluidHeightList.js +43 -0
- package/dist/cjs/virtualization/FluidHeightList.js.map +7 -0
- package/dist/cjs/virtualization/index.js +50 -0
- package/dist/cjs/virtualization/index.js.map +7 -0
- package/dist/esm/Animations/BaseAnimation.js +27 -0
- package/dist/esm/Animations/BaseAnimation.js.map +7 -0
- package/dist/esm/Animations/Grow.js +26 -0
- package/dist/esm/Animations/Grow.js.map +7 -0
- package/dist/esm/Animations/GrowRight.js +35 -0
- package/dist/esm/Animations/GrowRight.js.map +7 -0
- package/dist/esm/Animations/GrowVertical.js +29 -0
- package/dist/esm/Animations/GrowVertical.js.map +7 -0
- package/dist/esm/CheckableGroup.js +47 -0
- package/dist/esm/CheckableGroup.js.map +7 -0
- package/dist/esm/DeferRenderAfterComputation.js +23 -0
- package/dist/esm/DeferRenderAfterComputation.js.map +7 -0
- package/dist/esm/FocusGroup/FocusGrid.js +151 -0
- package/dist/esm/FocusGroup/FocusGrid.js.map +7 -0
- package/{esm → dist/esm}/FocusGroup/FocusGroup.js +56 -137
- package/dist/esm/FocusGroup/FocusGroup.js.map +7 -0
- package/dist/esm/FocusGroup/FocusGroupContext.js +9 -0
- package/dist/esm/FocusGroup/FocusGroupContext.js.map +7 -0
- package/{esm → dist/esm}/FocusGroup/FocusGroupManager.js +24 -38
- package/dist/esm/FocusGroup/FocusGroupManager.js.map +7 -0
- package/dist/esm/FocusGroup/focusGroupManagerHoc.js +25 -0
- package/dist/esm/FocusGroup/focusGroupManagerHoc.js.map +7 -0
- package/dist/esm/FocusGroup/index.js +18 -0
- package/dist/esm/FocusGroup/index.js.map +7 -0
- package/dist/esm/FocusGroup/useFocusGroupItem.js +38 -0
- package/dist/esm/FocusGroup/useFocusGroupItem.js.map +7 -0
- package/{esm → dist/esm}/FocusGroup/utils/getNextCellPosition.js +18 -25
- package/dist/esm/FocusGroup/utils/getNextCellPosition.js.map +7 -0
- package/dist/esm/GroupContext/Group.js +86 -0
- package/dist/esm/GroupContext/Group.js.map +7 -0
- package/dist/esm/GroupContext/GroupContext.js +7 -0
- package/dist/esm/GroupContext/GroupContext.js.map +7 -0
- package/dist/esm/GroupContext/GroupItem.js +11 -0
- package/dist/esm/GroupContext/GroupItem.js.map +7 -0
- package/dist/esm/GroupContext/index.js +10 -0
- package/dist/esm/GroupContext/index.js.map +7 -0
- package/{esm → dist/esm}/ScrollSync/ScrollSync.js +30 -64
- package/dist/esm/ScrollSync/ScrollSync.js.map +7 -0
- package/dist/esm/ScrollSync/ScrollSyncPane.js +44 -0
- package/dist/esm/ScrollSync/ScrollSyncPane.js.map +7 -0
- package/dist/esm/ScrollSync/ScrollSyncProvider.js +91 -0
- package/dist/esm/ScrollSync/ScrollSyncProvider.js.map +7 -0
- package/dist/esm/ScrollSync/index.js +8 -0
- package/dist/esm/ScrollSync/index.js.map +7 -0
- package/dist/esm/ScrollSync/useScrollSync.js +12 -0
- package/dist/esm/ScrollSync/useScrollSync.js.map +7 -0
- package/dist/esm/constants.js +41 -0
- package/dist/esm/constants.js.map +7 -0
- package/dist/esm/createDataInstance/createInstancePlugin.js +19 -0
- package/dist/esm/createDataInstance/createInstancePlugin.js.map +7 -0
- package/dist/esm/createDataInstance/createInstanceRef.js +67 -0
- package/dist/esm/createDataInstance/createInstanceRef.js.map +7 -0
- package/dist/esm/createDataInstance/utils.js +70 -0
- package/dist/esm/createDataInstance/utils.js.map +7 -0
- package/dist/esm/defer-render-hoc/index.js +27 -0
- package/dist/esm/defer-render-hoc/index.js.map +7 -0
- package/dist/esm/dimsum.config.js +10 -0
- package/dist/esm/dimsum.config.js.map +7 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/prop-types.js +87 -0
- package/dist/esm/prop-types.js.map +7 -0
- package/dist/esm/react-spring/index.js +3 -0
- package/dist/esm/react-spring/index.js.map +7 -0
- package/dist/esm/react-spring/renderprops.js +3 -0
- package/dist/esm/react-spring/renderprops.js.map +7 -0
- package/dist/esm/toolbar/ToolbarProvider.js +82 -0
- package/dist/esm/toolbar/ToolbarProvider.js.map +7 -0
- package/dist/esm/useDataGrid/VolatileRowsListener.js +20 -0
- package/dist/esm/useDataGrid/VolatileRowsListener.js.map +7 -0
- package/dist/esm/useDataGrid/index.js +7 -0
- package/dist/esm/useDataGrid/index.js.map +7 -0
- package/dist/esm/useDataGrid/initColumnDefinition.js +118 -0
- package/dist/esm/useDataGrid/initColumnDefinition.js.map +7 -0
- package/dist/esm/useDataGrid/useDataGrid.js +177 -0
- package/dist/esm/useDataGrid/useDataGrid.js.map +7 -0
- package/dist/esm/useDataList/index.js +7 -0
- package/dist/esm/useDataList/index.js.map +7 -0
- package/dist/esm/useDataList/recordIterator.js +26 -0
- package/dist/esm/useDataList/recordIterator.js.map +7 -0
- package/dist/esm/useDataList/useDataList.js +67 -0
- package/dist/esm/useDataList/useDataList.js.map +7 -0
- package/dist/esm/utils.js +78 -0
- package/dist/esm/utils.js.map +7 -0
- package/dist/esm/virtualization/AutoHeightList.js +40 -0
- package/dist/esm/virtualization/AutoHeightList.js.map +7 -0
- package/dist/esm/virtualization/FluidHeightList.js +14 -0
- package/dist/esm/virtualization/FluidHeightList.js.map +7 -0
- package/dist/esm/virtualization/index.js +21 -0
- package/dist/esm/virtualization/index.js.map +7 -0
- package/{types → dist/types}/Animations/BaseAnimation.d.ts +1 -0
- package/{types → dist/types}/Animations/Grow.d.ts +1 -0
- package/{types → dist/types}/Animations/GrowRight.d.ts +1 -0
- package/{types → dist/types}/Animations/GrowVertical.d.ts +0 -0
- package/{types → dist/types}/CheckableGroup.d.ts +1 -0
- package/dist/types/DeferRenderAfterComputation.d.ts +7 -0
- package/dist/types/FocusGroup/FocusGrid.d.ts +12 -0
- package/{types → dist/types}/FocusGroup/FocusGroup.d.ts +3 -1
- package/dist/types/FocusGroup/FocusGroupContext.d.ts +4 -0
- package/{types → dist/types}/FocusGroup/FocusGroupManager.d.ts +3 -1
- package/dist/types/FocusGroup/focusGroupManagerHoc.d.ts +9 -0
- package/dist/types/FocusGroup/index.d.ts +6 -0
- package/dist/types/FocusGroup/useFocusGroupItem.d.ts +4 -0
- package/{types → dist/types}/FocusGroup/utils/getNextCellPosition.d.ts +3 -1
- package/{types → dist/types}/GroupContext/Group.d.ts +1 -0
- package/{types → dist/types}/GroupContext/GroupContext.d.ts +0 -0
- package/{types → dist/types}/GroupContext/GroupItem.d.ts +1 -0
- package/dist/types/GroupContext/index.d.ts +3 -0
- package/{types → dist/types}/ScrollSync/ScrollSync.d.ts +4 -2
- package/dist/types/ScrollSync/ScrollSyncPane.d.ts +3 -0
- package/{types → dist/types}/ScrollSync/ScrollSyncProvider.d.ts +0 -0
- package/dist/types/ScrollSync/index.d.ts +2 -0
- package/dist/types/ScrollSync/useScrollSync.d.ts +7 -0
- package/{types → dist/types}/constants.d.ts +0 -0
- package/dist/types/createDataInstance/createInstancePlugin.d.ts +2 -0
- package/{types → dist/types}/createDataInstance/createInstanceRef.d.ts +3 -1
- package/{types → dist/types}/createDataInstance/tests/createInstanceRef.test.d.ts +0 -0
- package/{types → dist/types}/createDataInstance/utils.d.ts +0 -0
- package/dist/types/dimsum.config.d.ts +5 -0
- package/dist/types/index.d.ts +2 -0
- package/{types → dist/types}/prop-types.d.ts +0 -0
- package/{types → dist/types}/react-spring/index.d.ts +0 -0
- package/{types → dist/types}/react-spring/renderprops.d.ts +0 -0
- package/dist/types/toolbar/ToolbarProvider.d.ts +5 -0
- package/dist/types/useDataGrid/VolatileRowsListener.d.ts +7 -0
- package/dist/types/useDataGrid/index.d.ts +1 -0
- package/{types → dist/types}/useDataGrid/initColumnDefinition.d.ts +2 -1
- package/dist/types/useDataGrid/useDataGrid.d.ts +9 -0
- package/dist/types/useDataList/index.d.ts +1 -0
- package/{types → dist/types}/useDataList/recordIterator.d.ts +0 -0
- package/{types → dist/types}/useDataList/useDataList.d.ts +3 -2
- package/{types → dist/types}/utils.d.ts +0 -0
- package/{types → dist/types}/virtualization/AutoHeightList.d.ts +0 -0
- package/{types → dist/types}/virtualization/FluidHeightList.d.ts +0 -0
- package/{types → dist/types}/virtualization/index.d.ts +0 -0
- package/package.json +115 -107
- package/cjs/Animations/BaseAnimation.js +0 -36
- package/cjs/Animations/Grow.js +0 -42
- package/cjs/Animations/GrowRight.js +0 -42
- package/cjs/Animations/GrowVertical.js +0 -7
- package/cjs/CheckableGroup.js +0 -74
- package/cjs/DeferRenderAfterComputation.js +0 -28
- package/cjs/FocusGroup/FocusGrid.js +0 -215
- package/cjs/FocusGroup/FocusGroup.js +0 -308
- package/cjs/FocusGroup/FocusGroupContext.js +0 -11
- package/cjs/FocusGroup/FocusGroupManager.js +0 -117
- package/cjs/FocusGroup/focusGroupManagerHoc.js +0 -44
- package/cjs/FocusGroup/index.js +0 -21
- package/cjs/FocusGroup/useFocusGroupItem.js +0 -59
- package/cjs/FocusGroup/utils/getNextCellPosition.js +0 -60
- package/cjs/GroupContext/Group.js +0 -124
- package/cjs/GroupContext/GroupContext.js +0 -13
- package/cjs/GroupContext/GroupItem.js +0 -22
- package/cjs/GroupContext/index.js +0 -13
- package/cjs/ScrollSync/ScrollSync.js +0 -153
- package/cjs/ScrollSync/ScrollSyncPane.js +0 -81
- package/cjs/ScrollSync/ScrollSyncProvider.js +0 -67
- package/cjs/ScrollSync/index.js +0 -11
- package/cjs/ScrollSync/useScrollSync.js +0 -10
- package/cjs/constants.js +0 -51
- package/cjs/createDataInstance/createInstancePlugin.js +0 -36
- package/cjs/createDataInstance/createInstanceRef.js +0 -97
- package/cjs/createDataInstance/utils.js +0 -123
- package/cjs/defer-render-hoc/index.js +0 -49
- package/cjs/dimsum.config.js +0 -7
- package/cjs/index.js +0 -17
- package/cjs/prop-types.js +0 -59
- package/cjs/react-spring/index.js +0 -14
- package/cjs/react-spring/renderprops.js +0 -14
- package/cjs/toolbar/ToolbarProvider.js +0 -123
- package/cjs/useDataGrid/VolatileRowsListener.js +0 -24
- package/cjs/useDataGrid/index.js +0 -7
- package/cjs/useDataGrid/initColumnDefinition.js +0 -146
- package/cjs/useDataGrid/useDataGrid.js +0 -220
- package/cjs/useDataList/index.js +0 -7
- package/cjs/useDataList/recordIterator.js +0 -31
- package/cjs/useDataList/useDataList.js +0 -102
- package/cjs/utils.js +0 -116
- package/cjs/virtualization/AutoHeightList.js +0 -61
- package/cjs/virtualization/FluidHeightList.js +0 -49
- package/cjs/virtualization/index.js +0 -22
- package/esm/Animations/BaseAnimation.js +0 -30
- package/esm/Animations/Grow.js +0 -36
- package/esm/Animations/GrowRight.js +0 -36
- package/esm/Animations/GrowVertical.js +0 -4
- package/esm/CheckableGroup.js +0 -64
- package/esm/DeferRenderAfterComputation.js +0 -22
- package/esm/FocusGroup/FocusGrid.js +0 -204
- package/esm/FocusGroup/FocusGroupContext.js +0 -5
- package/esm/FocusGroup/focusGroupManagerHoc.js +0 -37
- package/esm/FocusGroup/index.js +0 -6
- package/esm/FocusGroup/useFocusGroupItem.js +0 -50
- package/esm/GroupContext/Group.js +0 -118
- package/esm/GroupContext/GroupContext.js +0 -5
- package/esm/GroupContext/GroupItem.js +0 -16
- package/esm/GroupContext/index.js +0 -3
- package/esm/ScrollSync/ScrollSyncPane.js +0 -74
- package/esm/ScrollSync/ScrollSyncProvider.js +0 -59
- package/esm/ScrollSync/index.js +0 -2
- package/esm/ScrollSync/useScrollSync.js +0 -8
- package/esm/constants.js +0 -32
- package/esm/createDataInstance/createInstancePlugin.js +0 -30
- package/esm/createDataInstance/createInstanceRef.js +0 -90
- package/esm/createDataInstance/utils.js +0 -107
- package/esm/defer-render-hoc/index.js +0 -41
- package/esm/dimsum.config.js +0 -5
- package/esm/index.js +0 -5
- package/esm/prop-types.js +0 -43
- package/esm/react-spring/index.js +0 -1
- package/esm/react-spring/renderprops.js +0 -1
- package/esm/toolbar/ToolbarProvider.js +0 -111
- package/esm/useDataGrid/VolatileRowsListener.js +0 -22
- package/esm/useDataGrid/index.js +0 -1
- package/esm/useDataGrid/initColumnDefinition.js +0 -134
- package/esm/useDataGrid/useDataGrid.js +0 -194
- package/esm/useDataList/index.js +0 -1
- package/esm/useDataList/recordIterator.js +0 -27
- package/esm/useDataList/useDataList.js +0 -90
- package/esm/utils.js +0 -95
- package/esm/virtualization/AutoHeightList.js +0 -52
- package/esm/virtualization/FluidHeightList.js +0 -38
- package/esm/virtualization/index.js +0 -18
- package/types/DeferRenderAfterComputation.d.ts +0 -6
- package/types/FocusGroup/FocusGrid.d.ts +0 -10
- package/types/FocusGroup/FocusGroupContext.d.ts +0 -3
- package/types/FocusGroup/focusGroupManagerHoc.d.ts +0 -7
- package/types/FocusGroup/index.d.ts +0 -6
- package/types/FocusGroup/useFocusGroupItem.d.ts +0 -2
- package/types/GroupContext/index.d.ts +0 -3
- package/types/ScrollSync/ScrollSyncPane.d.ts +0 -3
- package/types/ScrollSync/index.d.ts +0 -2
- package/types/ScrollSync/useScrollSync.d.ts +0 -6
- package/types/createDataInstance/createInstancePlugin.d.ts +0 -1
- package/types/dimsum.config.d.ts +0 -4
- package/types/index.d.ts +0 -2
- package/types/toolbar/ToolbarProvider.d.ts +0 -10
- package/types/useDataGrid/VolatileRowsListener.d.ts +0 -5
- package/types/useDataGrid/index.d.ts +0 -1
- package/types/useDataGrid/useDataGrid.d.ts +0 -8
- package/types/useDataList/index.d.ts +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/ScrollSync/ScrollSync.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { Component } from 'react';\n\nconst ScrollSyncContext = React.createContext();\n\nconst { Provider } = ScrollSyncContext;\n\nclass ScrollSync extends Component {\n panes = {};\n\n static defaultProps = {\n proportional: true,\n vertical: true,\n horizontal: true,\n enabled: true,\n };\n\n constructor(props) {\n super(props);\n this.syncContext = {\n registerPane: this.registerPane,\n unregisterPane: this.unregisterPane,\n };\n }\n\n registerPane = (node, groups) => {\n groups.forEach((group) => {\n if (!this.panes[group]) {\n this.panes[group] = [];\n }\n\n if (this.panes[group].length > 0) {\n this.syncScrollPosition(this.panes[group][0], node);\n }\n this.panes[group].push(node);\n });\n this.addEvents(node, groups);\n };\n\n unregisterPane = (node, groups) => {\n groups.forEach((group) => {\n if (this.findPane(node, group)) {\n this.removeEvents(node);\n this.panes[group].splice(this.panes[group].indexOf(node), 1);\n }\n });\n };\n\n addEvents = (node, groups) => {\n /* For some reason element.addEventListener doesnt work with document.body */\n node.onscroll = this.handlePaneScroll.bind(this, node, groups); // eslint-disable-line\n };\n\n removeEvents = (node) => {\n /* For some reason element.removeEventListener doesnt work with document.body */\n node.onscroll = null; // eslint-disable-line\n };\n\n findPane = (node, group) => {\n if (!this.panes[group]) {\n return false;\n }\n\n return this.panes[group].find((pane) => pane === node);\n };\n\n handlePaneScroll = (node, groups, e) => {\n const { enabled } = this.props;\n if (this.props.onScroll) this.props.onScroll(e);\n\n if (!enabled) return;\n\n window.requestAnimationFrame(() => {\n this.syncScrollPositions(node, groups);\n });\n };\n\n syncScrollPositions = (scrolledPane, groups) => {\n groups.forEach((group) => {\n this.panes[group].forEach((pane) => {\n /* For all panes beside the currently scrolling one */\n if (scrolledPane !== pane) {\n /* Remove event listeners from the node that we'll manipulate */\n this.removeEvents(pane, group);\n this.syncScrollPosition(scrolledPane, pane);\n /* Re-attach event listeners after we're done scrolling */\n window.requestAnimationFrame(() => {\n this.addEvents(pane, groups);\n });\n }\n });\n });\n };\n\n syncScrollPosition(scrolledPane, pane) {\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n scrollLeft,\n scrollWidth,\n clientWidth,\n } = scrolledPane;\n\n const scrollTopOffset = scrollHeight - clientHeight;\n const scrollLeftOffset = scrollWidth - clientWidth;\n\n const { proportional, vertical, horizontal } = this.props;\n\n /* Calculate the actual pane height */\n const paneHeight = pane.scrollHeight - clientHeight;\n const paneWidth = pane.scrollWidth - clientWidth;\n /* Adjust the scrollTop position of it accordingly */\n if (vertical && scrollTopOffset > 0) {\n pane.scrollTop = proportional\n ? (paneHeight * scrollTop) / scrollTopOffset\n : scrollTop; // eslint-disable-line\n }\n if (horizontal && scrollLeftOffset > 0) {\n pane.scrollLeft = proportional\n ? (paneWidth * scrollLeft) / scrollLeftOffset\n : scrollLeft; // eslint-disable-line\n }\n }\n\n render() {\n const { children } = this.props;\n return (\n <Provider value={this.syncContext}>\n {React.Children.only(children)}\n </Provider>\n );\n }\n}\n\nexport { ScrollSync, ScrollSyncContext };\nexport default ScrollSync;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEA,MAAM,oBAAoB,OAAM;AAEhC,MAAM,EAAE,aAAa;AAErB,yBAAyB,UAAU;AAAA,EAUjC,YAAY,OAAO;AACjB,UAAM;AAVR,iBAAQ;AAiBR,wBAAe,CAAC,MAAM,WAAW;AAC/B,aAAO,QAAQ,CAAC,UAAU;AACxB,YAAI,CAAC,KAAK,MAAM,QAAQ;AACtB,eAAK,MAAM,SAAS;AAAA;AAGtB,YAAI,KAAK,MAAM,OAAO,SAAS,GAAG;AAChC,eAAK,mBAAmB,KAAK,MAAM,OAAO,IAAI;AAAA;AAEhD,aAAK,MAAM,OAAO,KAAK;AAAA;AAEzB,WAAK,UAAU,MAAM;AAAA;AAGvB,0BAAiB,CAAC,MAAM,WAAW;AACjC,aAAO,QAAQ,CAAC,UAAU;AACxB,YAAI,KAAK,SAAS,MAAM,QAAQ;AAC9B,eAAK,aAAa;AAClB,eAAK,MAAM,OAAO,OAAO,KAAK,MAAM,OAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAKhE,qBAAY,CAAC,MAAM,WAAW;AAE5B,WAAK,WAAW,KAAK,iBAAiB,KAAK,MAAM,MAAM;AAAA;AAGzD,wBAAe,CAAC,SAAS;AAEvB,WAAK,WAAW;AAAA;AAGlB,oBAAW,CAAC,MAAM,UAAU;AAC1B,UAAI,CAAC,KAAK,MAAM,QAAQ;AACtB,eAAO;AAAA;AAGT,aAAO,KAAK,MAAM,OAAO,KAAK,CAAC,SAAS,SAAS;AAAA;AAGnD,4BAAmB,CAAC,MAAM,QAAQ,MAAM;AACtC,YAAM,EAAE,YAAY,KAAK;AACzB,UAAI,KAAK,MAAM;AAAU,aAAK,MAAM,SAAS;AAE7C,UAAI,CAAC;AAAS;AAEd,aAAO,sBAAsB,MAAM;AACjC,aAAK,oBAAoB,MAAM;AAAA;AAAA;AAInC,+BAAsB,CAAC,cAAc,WAAW;AAC9C,aAAO,QAAQ,CAAC,UAAU;AACxB,aAAK,MAAM,OAAO,QAAQ,CAAC,SAAS;AAElC,cAAI,iBAAiB,MAAM;AAEzB,iBAAK,aAAa,MAAM;AACxB,iBAAK,mBAAmB,cAAc;AAEtC,mBAAO,sBAAsB,MAAM;AACjC,mBAAK,UAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AApE7B,SAAK,cAAc;AAAA,MACjB,cAAc,KAAK;AAAA,MACnB,gBAAgB,KAAK;AAAA;AAAA;AAAA,EAyEzB,mBAAmB,cAAc,MAAM;AACrC,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE;AAEJ,UAAM,kBAAkB,eAAe;AACvC,UAAM,mBAAmB,cAAc;AAEvC,UAAM,EAAE,cAAc,UAAU,eAAe,KAAK;AAGpD,UAAM,aAAa,KAAK,eAAe;AACvC,UAAM,YAAY,KAAK,cAAc;AAErC,QAAI,YAAY,kBAAkB,GAAG;AACnC,WAAK,YAAY,eACZ,aAAa,YAAa,kBAC3B;AAAA;AAEN,QAAI,cAAc,mBAAmB,GAAG;AACtC,WAAK,aAAa,eACb,YAAY,aAAc,mBAC3B;AAAA;AAAA;AAAA,EAIR,SAAS;AACP,UAAM,EAAE,aAAa,KAAK;AAC1B,WACE,qCAAC,UAAD;AAAA,MAAU,OAAO,KAAK;AAAA,OACnB,OAAM,SAAS,KAAK;AAAA;AAAA;AAvHpB,AAHT,WAGS,eAAe;AAAA,EACpB,cAAc;AAAA,EACd,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,SAAS;AAAA;AA0Hb,IAAO,qBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { Component } from "react";
|
|
3
|
+
import { ScrollSyncContext } from "./ScrollSync";
|
|
4
|
+
class ScrollSyncPane extends Component {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.toArray = (groups) => [].concat(groups);
|
|
8
|
+
}
|
|
9
|
+
componentWillUnmount() {
|
|
10
|
+
const { enabled, group, syncContext } = this.props;
|
|
11
|
+
const { unregisterPane } = syncContext;
|
|
12
|
+
if (enabled)
|
|
13
|
+
unregisterPane(this.node, this.toArray(group));
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
const { children, group, syncContext, notPaginated } = this.props;
|
|
17
|
+
const { registerPane } = syncContext;
|
|
18
|
+
return children({
|
|
19
|
+
registerPane: (node) => {
|
|
20
|
+
if (notPaginated) {
|
|
21
|
+
const virtualizedBody = node.querySelector(".virtualized-body-wrapper");
|
|
22
|
+
if (virtualizedBody) {
|
|
23
|
+
registerPane(virtualizedBody, this.toArray(group));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return registerPane(node, this.toArray(group));
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
ScrollSyncPane.defaultProps = {
|
|
32
|
+
group: "default",
|
|
33
|
+
enabled: true
|
|
34
|
+
};
|
|
35
|
+
const ScrollSyncPaneHOC = (props) => /* @__PURE__ */ React2.createElement(ScrollSyncContext.Consumer, null, (context) => /* @__PURE__ */ React2.createElement(ScrollSyncPane, {
|
|
36
|
+
...props,
|
|
37
|
+
syncContext: context
|
|
38
|
+
}));
|
|
39
|
+
var ScrollSyncPane_default = ScrollSyncPaneHOC;
|
|
40
|
+
export {
|
|
41
|
+
ScrollSyncPaneHOC,
|
|
42
|
+
ScrollSyncPane_default as default
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=ScrollSyncPane.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/ScrollSync/ScrollSyncPane.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/display-name */\nimport React, { Component } from 'react';\nimport { ScrollSyncContext } from './ScrollSync';\n\n/**\n * MODIFIED FROM react-scroll-sync\n *\n * ScrollSyncPane Component\n *\n * Wrap your content in it to keep its scroll position in sync with other panes\n *\n * @param groups\n * @example ./example.md\n */\nclass ScrollSyncPane extends Component {\n static defaultProps = {\n group: 'default',\n enabled: true,\n };\n\n componentWillUnmount() {\n const { enabled, group, syncContext } = this.props;\n const { unregisterPane } = syncContext;\n\n if (enabled) unregisterPane(this.node, this.toArray(group));\n }\n\n toArray = groups => [].concat(groups);\n\n render() {\n const { children, group, syncContext, notPaginated } = this.props;\n const { registerPane } = syncContext;\n\n return children({\n registerPane: node => {\n if (notPaginated) {\n const virtualizedBody = node.querySelector(\n '.virtualized-body-wrapper',\n );\n if (virtualizedBody) {\n registerPane(virtualizedBody, this.toArray(group));\n }\n }\n return registerPane(node, this.toArray(group));\n },\n });\n }\n}\n\nexport const ScrollSyncPaneHOC = props => (\n <ScrollSyncContext.Consumer>\n {context => <ScrollSyncPane {...props} syncContext={context} />}\n </ScrollSyncContext.Consumer>\n);\n\nexport default ScrollSyncPaneHOC;\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AAYA,6BAA6B,UAAU;AAAA,EAAvC,cAdA;AAcA;AAaE,mBAAU,YAAU,GAAG,OAAO;AAAA;AAAA,EAP9B,uBAAuB;AACrB,UAAM,EAAE,SAAS,OAAO,gBAAgB,KAAK;AAC7C,UAAM,EAAE,mBAAmB;AAE3B,QAAI;AAAS,qBAAe,KAAK,MAAM,KAAK,QAAQ;AAAA;AAAA,EAKtD,SAAS;AACP,UAAM,EAAE,UAAU,OAAO,aAAa,iBAAiB,KAAK;AAC5D,UAAM,EAAE,iBAAiB;AAEzB,WAAO,SAAS;AAAA,MACd,cAAc,UAAQ;AACpB,YAAI,cAAc;AAChB,gBAAM,kBAAkB,KAAK,cAC3B;AAEF,cAAI,iBAAiB;AACnB,yBAAa,iBAAiB,KAAK,QAAQ;AAAA;AAAA;AAG/C,eAAO,aAAa,MAAM,KAAK,QAAQ;AAAA;AAAA;AAAA;AAAA;AA5BtC,AADT,eACS,eAAe;AAAA,EACpB,OAAO;AAAA,EACP,SAAS;AAAA;AAgCN,MAAM,oBAAoB,WAC/B,qCAAC,kBAAkB,UAAnB,MACG,aAAW,qCAAC,gBAAD;AAAA,KAAoB;AAAA,EAAO,aAAa;AAAA;AAIxD,IAAO,yBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import raf from "raf";
|
|
4
|
+
const ScrollSyncContext = React2.createContext();
|
|
5
|
+
const { Provider } = ScrollSyncContext;
|
|
6
|
+
function ScrollSyncProvider({ enabled, horizontal, vertical, children }) {
|
|
7
|
+
const panes = useRef();
|
|
8
|
+
const registerPane = (node, groups) => {
|
|
9
|
+
groups.forEach((group) => {
|
|
10
|
+
if (!this.panes[group]) {
|
|
11
|
+
this.panes[group] = [];
|
|
12
|
+
}
|
|
13
|
+
if (!this.findPane(node, group)) {
|
|
14
|
+
if (this.panes[group].length > 0) {
|
|
15
|
+
this.syncScrollPosition(this.panes[group][0], node);
|
|
16
|
+
}
|
|
17
|
+
this.panes[group].push(node);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
this.addEvents(node, groups);
|
|
21
|
+
};
|
|
22
|
+
const unregisterPane = (node, groups) => {
|
|
23
|
+
groups.forEach((group) => {
|
|
24
|
+
if (this.findPane(node, group)) {
|
|
25
|
+
this.removeEvents(node);
|
|
26
|
+
this.panes[group].splice(this.panes[group].indexOf(node), 1);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
const addEvents = (node, groups) => {
|
|
31
|
+
node.onscroll = this.handlePaneScroll.bind(this, node, groups);
|
|
32
|
+
};
|
|
33
|
+
const removeEvents = (node) => {
|
|
34
|
+
node.onscroll = null;
|
|
35
|
+
};
|
|
36
|
+
const findPane = (node, group) => {
|
|
37
|
+
if (!this.panes[group]) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
return this.panes[group].find((pane) => pane === node);
|
|
41
|
+
};
|
|
42
|
+
const handlePaneScroll = (node, groups) => {
|
|
43
|
+
if (!enabled)
|
|
44
|
+
return;
|
|
45
|
+
window.requestAnimationFrame(() => {
|
|
46
|
+
this.syncScrollPositions(node, groups);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const syncScrollPositions = (scrolledPane, groups) => {
|
|
50
|
+
groups.forEach((group) => {
|
|
51
|
+
this.panes[group].forEach((pane) => {
|
|
52
|
+
if (scrolledPane !== pane) {
|
|
53
|
+
this.removeEvents(pane, group);
|
|
54
|
+
this.syncScrollPosition(scrolledPane, pane);
|
|
55
|
+
window.requestAnimationFrame(() => {
|
|
56
|
+
this.addEvents(pane, groups);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const syncScrollPosition = raf((scrolledPane, pane) => {
|
|
63
|
+
const {
|
|
64
|
+
scrollTop,
|
|
65
|
+
scrollHeight,
|
|
66
|
+
clientHeight,
|
|
67
|
+
scrollLeft,
|
|
68
|
+
scrollWidth,
|
|
69
|
+
clientWidth
|
|
70
|
+
} = scrolledPane;
|
|
71
|
+
const scrollTopOffset = scrollHeight - clientHeight;
|
|
72
|
+
const scrollLeftOffset = scrollWidth - clientWidth;
|
|
73
|
+
const { proportional, vertical: vertical2, horizontal: horizontal2 } = this.props;
|
|
74
|
+
const paneHeight = pane.scrollHeight - clientHeight;
|
|
75
|
+
const paneWidth = pane.scrollWidth - clientWidth;
|
|
76
|
+
if (vertical2 && scrollTopOffset > 0) {
|
|
77
|
+
pane.scrollTop = proportional ? paneHeight * scrollTop / scrollTopOffset : scrollTop;
|
|
78
|
+
}
|
|
79
|
+
if (horizontal2 && scrollLeftOffset > 0) {
|
|
80
|
+
pane.scrollLeft = proportional ? paneWidth * scrollLeft / scrollLeftOffset : scrollLeft;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
return /* @__PURE__ */ React2.createElement(Provider, null, children);
|
|
84
|
+
}
|
|
85
|
+
ScrollSyncProvider.propTypes = {};
|
|
86
|
+
ScrollSyncProvider.defaultProps = {};
|
|
87
|
+
var ScrollSyncProvider_default = ScrollSyncProvider;
|
|
88
|
+
export {
|
|
89
|
+
ScrollSyncProvider_default as default
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=ScrollSyncProvider.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/ScrollSync/ScrollSyncProvider.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport raf from 'raf';\nimport PropTypes from 'prop-types';\n\nconst ScrollSyncContext = React.createContext();\n\nconst { Provider } = ScrollSyncContext;\n\nfunction ScrollSyncProvider({ enabled, horizontal, vertical, children }) {\n const panes = useRef();\n\n const registerPane = (node, groups) => {\n groups.forEach(group => {\n if (!this.panes[group]) {\n this.panes[group] = [];\n }\n\n if (!this.findPane(node, group)) {\n if (this.panes[group].length > 0) {\n this.syncScrollPosition(this.panes[group][0], node);\n }\n this.panes[group].push(node);\n }\n });\n this.addEvents(node, groups);\n };\n const unregisterPane = (node, groups) => {\n groups.forEach(group => {\n if (this.findPane(node, group)) {\n this.removeEvents(node);\n this.panes[group].splice(this.panes[group].indexOf(node), 1);\n }\n });\n };\n const addEvents = (node, groups) => {\n /* For some reason element.addEventListener doesnt work with document.body */\n node.onscroll = this.handlePaneScroll.bind(this, node, groups); // eslint-disable-line\n };\n const removeEvents = node => {\n /* For some reason element.removeEventListener doesnt work with document.body */\n node.onscroll = null; // eslint-disable-line\n };\n const findPane = (node, group) => {\n if (!this.panes[group]) {\n return false;\n }\n\n return this.panes[group].find(pane => pane === node);\n };\n const handlePaneScroll = (node, groups) => {\n if (!enabled) return;\n\n window.requestAnimationFrame(() => {\n this.syncScrollPositions(node, groups);\n });\n };\n const syncScrollPositions = (scrolledPane, groups) => {\n groups.forEach(group => {\n this.panes[group].forEach(pane => {\n /* For all panes beside the currently scrolling one */\n if (scrolledPane !== pane) {\n /* Remove event listeners from the node that we'll manipulate */\n this.removeEvents(pane, group);\n this.syncScrollPosition(scrolledPane, pane);\n /* Re-attach event listeners after we're done scrolling */\n window.requestAnimationFrame(() => {\n this.addEvents(pane, groups);\n });\n }\n });\n });\n };\n const syncScrollPosition = raf((scrolledPane, pane) => {\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n scrollLeft,\n scrollWidth,\n clientWidth,\n } = scrolledPane;\n\n const scrollTopOffset = scrollHeight - clientHeight;\n const scrollLeftOffset = scrollWidth - clientWidth;\n\n const { proportional, vertical, horizontal } = this.props;\n\n /* Calculate the actual pane height */\n const paneHeight = pane.scrollHeight - clientHeight;\n const paneWidth = pane.scrollWidth - clientWidth;\n /* Adjust the scrollTop position of it accordingly */\n if (vertical && scrollTopOffset > 0) {\n pane.scrollTop = proportional\n ? (paneHeight * scrollTop) / scrollTopOffset\n : scrollTop; // eslint-disable-line\n }\n if (horizontal && scrollLeftOffset > 0) {\n pane.scrollLeft = proportional\n ? (paneWidth * scrollLeft) / scrollLeftOffset\n : scrollLeft; // eslint-disable-line\n }\n });\n\n return <Provider>{children}</Provider>;\n}\n\nScrollSyncProvider.propTypes = {};\nScrollSyncProvider.defaultProps = {};\n\nexport default ScrollSyncProvider;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AAGA,MAAM,oBAAoB,OAAM;AAEhC,MAAM,EAAE,aAAa;AAErB,4BAA4B,EAAE,SAAS,YAAY,UAAU,YAAY;AACvE,QAAM,QAAQ;AAEd,QAAM,eAAe,CAAC,MAAM,WAAW;AACrC,WAAO,QAAQ,WAAS;AACtB,UAAI,CAAC,KAAK,MAAM,QAAQ;AACtB,aAAK,MAAM,SAAS;AAAA;AAGtB,UAAI,CAAC,KAAK,SAAS,MAAM,QAAQ;AAC/B,YAAI,KAAK,MAAM,OAAO,SAAS,GAAG;AAChC,eAAK,mBAAmB,KAAK,MAAM,OAAO,IAAI;AAAA;AAEhD,aAAK,MAAM,OAAO,KAAK;AAAA;AAAA;AAG3B,SAAK,UAAU,MAAM;AAAA;AAEvB,QAAM,iBAAiB,CAAC,MAAM,WAAW;AACvC,WAAO,QAAQ,WAAS;AACtB,UAAI,KAAK,SAAS,MAAM,QAAQ;AAC9B,aAAK,aAAa;AAClB,aAAK,MAAM,OAAO,OAAO,KAAK,MAAM,OAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAIhE,QAAM,YAAY,CAAC,MAAM,WAAW;AAElC,SAAK,WAAW,KAAK,iBAAiB,KAAK,MAAM,MAAM;AAAA;AAEzD,QAAM,eAAe,UAAQ;AAE3B,SAAK,WAAW;AAAA;AAElB,QAAM,WAAW,CAAC,MAAM,UAAU;AAChC,QAAI,CAAC,KAAK,MAAM,QAAQ;AACtB,aAAO;AAAA;AAGT,WAAO,KAAK,MAAM,OAAO,KAAK,UAAQ,SAAS;AAAA;AAEjD,QAAM,mBAAmB,CAAC,MAAM,WAAW;AACzC,QAAI,CAAC;AAAS;AAEd,WAAO,sBAAsB,MAAM;AACjC,WAAK,oBAAoB,MAAM;AAAA;AAAA;AAGnC,QAAM,sBAAsB,CAAC,cAAc,WAAW;AACpD,WAAO,QAAQ,WAAS;AACtB,WAAK,MAAM,OAAO,QAAQ,UAAQ;AAEhC,YAAI,iBAAiB,MAAM;AAEzB,eAAK,aAAa,MAAM;AACxB,eAAK,mBAAmB,cAAc;AAEtC,iBAAO,sBAAsB,MAAM;AACjC,iBAAK,UAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAM/B,QAAM,qBAAqB,IAAI,CAAC,cAAc,SAAS;AACrD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE;AAEJ,UAAM,kBAAkB,eAAe;AACvC,UAAM,mBAAmB,cAAc;AAEvC,UAAM,EAAE,cAAc,qBAAU,4BAAe,KAAK;AAGpD,UAAM,aAAa,KAAK,eAAe;AACvC,UAAM,YAAY,KAAK,cAAc;AAErC,QAAI,aAAY,kBAAkB,GAAG;AACnC,WAAK,YAAY,eACZ,aAAa,YAAa,kBAC3B;AAAA;AAEN,QAAI,eAAc,mBAAmB,GAAG;AACtC,WAAK,aAAa,eACb,YAAY,aAAc,mBAC3B;AAAA;AAAA;AAIR,SAAO,qCAAC,UAAD,MAAW;AAAA;AAGpB,mBAAmB,YAAY;AAC/B,mBAAmB,eAAe;AAElC,IAAO,6BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/ScrollSync/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { ScrollSync } from './ScrollSync';\nexport { ScrollSyncPaneHOC as ScrollSyncPane } from './ScrollSyncPane';\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
const useScrollSync = (props) => {
|
|
3
|
+
return {};
|
|
4
|
+
};
|
|
5
|
+
useScrollSync.propTypes = {};
|
|
6
|
+
useScrollSync.defaultProps = {};
|
|
7
|
+
var useScrollSync_default = useScrollSync;
|
|
8
|
+
export {
|
|
9
|
+
useScrollSync_default as default,
|
|
10
|
+
useScrollSync
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useScrollSync.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/ScrollSync/useScrollSync.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst useScrollSync = (props) => {\n return {};\n}\n\nuseScrollSync.propTypes = {};\nuseScrollSync.defaultProps = {};\n\nexport { useScrollSync };\nexport default useScrollSync;\n"],
|
|
5
|
+
"mappings": "AAAA;ACGA,MAAM,gBAAgB,CAAC,UAAU;AAC/B,SAAO;AAAA;AAGT,cAAc,YAAY;AAC1B,cAAc,eAAe;AAG7B,IAAO,wBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
const DEFAULT_DELAY_OPEN = 200;
|
|
3
|
+
const DEFAULT_DELAY_CLOSE = 300;
|
|
4
|
+
const sizeOptions = ["small", "medium", "large", "x-large"];
|
|
5
|
+
const AM = "am";
|
|
6
|
+
const PM = "pm";
|
|
7
|
+
const ARROW_UP = "ArrowUp";
|
|
8
|
+
const ARROW_DOWN = "ArrowDown";
|
|
9
|
+
const BACKSPACE = "Backspace";
|
|
10
|
+
const ESCAPE = "Escape";
|
|
11
|
+
const HOME = "Home";
|
|
12
|
+
const SHIFT = "Shift";
|
|
13
|
+
const END = "End";
|
|
14
|
+
const HOUR_RANGE_12 = { min: 0, max: 12 };
|
|
15
|
+
const HOUR_RANGE_24 = { min: 0, max: 24 };
|
|
16
|
+
const GENERAL_TIME_RANGE = { min: 0, max: 59 };
|
|
17
|
+
const PLACEHOLDER_TIME = {
|
|
18
|
+
hour: "hour",
|
|
19
|
+
minutes: "minutes",
|
|
20
|
+
seconds: "seconds",
|
|
21
|
+
meridiem: "meridiem"
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
AM,
|
|
25
|
+
ARROW_DOWN,
|
|
26
|
+
ARROW_UP,
|
|
27
|
+
BACKSPACE,
|
|
28
|
+
DEFAULT_DELAY_CLOSE,
|
|
29
|
+
DEFAULT_DELAY_OPEN,
|
|
30
|
+
END,
|
|
31
|
+
ESCAPE,
|
|
32
|
+
GENERAL_TIME_RANGE,
|
|
33
|
+
HOME,
|
|
34
|
+
HOUR_RANGE_12,
|
|
35
|
+
HOUR_RANGE_24,
|
|
36
|
+
PLACEHOLDER_TIME,
|
|
37
|
+
PM,
|
|
38
|
+
SHIFT,
|
|
39
|
+
sizeOptions
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/constants.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const DEFAULT_DELAY_OPEN = 200;\nexport const DEFAULT_DELAY_CLOSE = 300;\nexport const sizeOptions = ['small', 'medium', 'large', 'x-large'];\nexport const AM = 'am';\nexport const PM = 'pm';\nexport const ARROW_UP = 'ArrowUp';\nexport const ARROW_DOWN = 'ArrowDown';\nexport const BACKSPACE = 'Backspace';\nexport const ESCAPE = 'Escape';\nexport const HOME = 'Home';\nexport const SHIFT = 'Shift';\nexport const END = 'End';\nexport const HOUR_RANGE_12 = { min: 0, max: 12 };\nexport const HOUR_RANGE_24 = { min: 0, max: 24 };\nexport const GENERAL_TIME_RANGE = { min: 0, max: 59 };\nexport const PLACEHOLDER_TIME = {\n hour: 'hour',\n minutes: 'minutes',\n seconds: 'seconds',\n meridiem: 'meridiem',\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAO,MAAM,qBAAqB;AAC3B,MAAM,sBAAsB;AAC5B,MAAM,cAAc,CAAC,SAAS,UAAU,SAAS;AACjD,MAAM,KAAK;AACX,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,aAAa;AACnB,MAAM,YAAY;AAClB,MAAM,SAAS;AACf,MAAM,OAAO;AACb,MAAM,QAAQ;AACd,MAAM,MAAM;AACZ,MAAM,gBAAgB,EAAE,KAAK,GAAG,KAAK;AACrC,MAAM,gBAAgB,EAAE,KAAK,GAAG,KAAK;AACrC,MAAM,qBAAqB,EAAE,KAAK,GAAG,KAAK;AAC1C,MAAM,mBAAmB;AAAA,EAC9B,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,UAAU;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
const getDecoratorsFromHooks = (hooks, decorators) => {
|
|
3
|
+
const nextDecorators = { ...decorators };
|
|
4
|
+
Object.keys(hooks).forEach((decorator) => {
|
|
5
|
+
if (Array.isArray(decorators[decorator])) {
|
|
6
|
+
nextDecorators[decorator] = [...decorators[decorator], hooks[decorator]];
|
|
7
|
+
} else {
|
|
8
|
+
nextDecorators[decorator] = hooks[decorator];
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
return nextDecorators;
|
|
12
|
+
};
|
|
13
|
+
const createInstancePlugin = (name, hooks) => (decorators) => getDecoratorsFromHooks(hooks, decorators);
|
|
14
|
+
var createInstancePlugin_default = createInstancePlugin;
|
|
15
|
+
export {
|
|
16
|
+
createInstancePlugin,
|
|
17
|
+
createInstancePlugin_default as default
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=createInstancePlugin.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/createDataInstance/createInstancePlugin.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "const getDecoratorsFromHooks = (hooks, decorators) => {\n const nextDecorators = { ...decorators };\n\n Object.keys(hooks).forEach((decorator) => {\n if (Array.isArray(decorators[decorator])) {\n nextDecorators[decorator] = [...decorators[decorator], hooks[decorator]];\n } else {\n nextDecorators[decorator] = hooks[decorator];\n }\n });\n\n return nextDecorators;\n};\n\nexport const createInstancePlugin = (name, hooks) => (decorators) => getDecoratorsFromHooks(hooks, decorators);\n\nexport default createInstancePlugin;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA,MAAM,yBAAyB,CAAC,OAAO,eAAe;AACpD,QAAM,iBAAiB,KAAK;AAE5B,SAAO,KAAK,OAAO,QAAQ,CAAC,cAAc;AACxC,QAAI,MAAM,QAAQ,WAAW,aAAa;AACxC,qBAAe,aAAa,CAAC,GAAG,WAAW,YAAY,MAAM;AAAA,WACxD;AACL,qBAAe,aAAa,MAAM;AAAA;AAAA;AAItC,SAAO;AAAA;AAGF,MAAM,uBAAuB,CAAC,MAAM,UAAU,CAAC,eAAe,uBAAuB,OAAO;AAEnG,IAAO,+BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { v4 as uuidv4 } from "uuid";
|
|
3
|
+
import { useMemo, useRef, useState } from "react";
|
|
4
|
+
import { orderBy } from "lodash";
|
|
5
|
+
import {
|
|
6
|
+
mergeInstance,
|
|
7
|
+
registerHotKeysHookToInstance,
|
|
8
|
+
registerStateHookToInstance
|
|
9
|
+
} from "./utils";
|
|
10
|
+
const defaultDecorators = {
|
|
11
|
+
instance: [],
|
|
12
|
+
state: [],
|
|
13
|
+
hotKeys: [],
|
|
14
|
+
renderers: [],
|
|
15
|
+
composeData: []
|
|
16
|
+
};
|
|
17
|
+
function createDataInstanceRef({
|
|
18
|
+
uuid: uuidProp,
|
|
19
|
+
data,
|
|
20
|
+
renderers,
|
|
21
|
+
plugins,
|
|
22
|
+
customDecorators,
|
|
23
|
+
...props
|
|
24
|
+
}) {
|
|
25
|
+
const instance = useRef();
|
|
26
|
+
const [uuid] = useState(uuidProp || (() => uuidv4()));
|
|
27
|
+
instance.current = {
|
|
28
|
+
uuid,
|
|
29
|
+
state: {},
|
|
30
|
+
actions: {},
|
|
31
|
+
hotKeys: {},
|
|
32
|
+
originalData: data,
|
|
33
|
+
records: [],
|
|
34
|
+
renderers,
|
|
35
|
+
ref(key) {
|
|
36
|
+
return (node) => instance.current.refs[key] = node;
|
|
37
|
+
},
|
|
38
|
+
getInstance() {
|
|
39
|
+
return instance.current;
|
|
40
|
+
},
|
|
41
|
+
props
|
|
42
|
+
};
|
|
43
|
+
const decorators = useMemo(() => {
|
|
44
|
+
let nextDecorators = { ...defaultDecorators, ...customDecorators };
|
|
45
|
+
plugins.forEach((plugin) => {
|
|
46
|
+
if (!plugin)
|
|
47
|
+
return;
|
|
48
|
+
nextDecorators = plugin(nextDecorators);
|
|
49
|
+
});
|
|
50
|
+
Object.keys(nextDecorators).forEach((key) => {
|
|
51
|
+
if (Array.isArray(nextDecorators[key]))
|
|
52
|
+
nextDecorators[key] = orderBy(nextDecorators[key], (item) => item.order);
|
|
53
|
+
});
|
|
54
|
+
return nextDecorators;
|
|
55
|
+
}, []);
|
|
56
|
+
instance.current = decorators.instance.reduce(mergeInstance, instance.current);
|
|
57
|
+
instance.current = decorators.state.reduce(registerStateHookToInstance, instance.current);
|
|
58
|
+
instance.current = decorators.hotKeys.reduce(registerHotKeysHookToInstance, instance.current);
|
|
59
|
+
instance.current.renderers = decorators.renderers.reduce((result, decorator) => decorator(result, instance.current), renderers);
|
|
60
|
+
return { instance, decorators };
|
|
61
|
+
}
|
|
62
|
+
var createInstanceRef_default = createDataInstanceRef;
|
|
63
|
+
export {
|
|
64
|
+
createDataInstanceRef,
|
|
65
|
+
createInstanceRef_default as default
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=createInstanceRef.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/createDataInstance/createInstanceRef.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { v4 as uuidv4 } from 'uuid';\nimport { useMemo, useRef, useState } from 'react';\nimport { orderBy } from 'lodash';\nimport {\n mergeInstance,\n registerHotKeysHookToInstance,\n registerStateHookToInstance,\n} from './utils';\n\nconst defaultDecorators = {\n instance: [],\n state: [],\n hotKeys: [],\n renderers: [],\n composeData: [],\n};\n\nfunction createDataInstanceRef({\n uuid: uuidProp,\n data,\n renderers,\n plugins,\n customDecorators,\n ...props\n}) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const instance = useRef();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [uuid] = useState(uuidProp || (() => uuidv4()));\n\n instance.current = {\n uuid,\n state: {},\n actions: {},\n hotKeys: {}, // keyboard hotkeys to run specific actions\n originalData: data,\n records: [], // item abstraction with meta data for originalData\n renderers,\n ref(key) {\n // eslint-disable-next-line no-return-assign\n return (node) => (instance.current.refs[key] = node);\n },\n getInstance() {\n return instance.current;\n },\n props,\n };\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const decorators = useMemo(() => {\n let nextDecorators = { ...defaultDecorators, ...customDecorators };\n\n plugins.forEach((plugin) => {\n if (!plugin) return;\n nextDecorators = plugin(nextDecorators);\n });\n\n Object.keys(nextDecorators).forEach((key) => {\n if (Array.isArray(nextDecorators[key]))\n nextDecorators[key] = orderBy(\n nextDecorators[key],\n (item) => item.order,\n );\n });\n\n return nextDecorators;\n }, []); // the plugins are defined on creation, but not changed at runtime\n\n // todo: test if getting the hooks without registering them\n // here would be beneficial to memoize instance and squeeze performance\n instance.current = decorators.instance.reduce(\n mergeInstance,\n instance.current,\n );\n instance.current = decorators.state.reduce(\n registerStateHookToInstance,\n instance.current,\n );\n instance.current = decorators.hotKeys.reduce(\n registerHotKeysHookToInstance,\n instance.current,\n );\n instance.current.renderers = decorators.renderers.reduce(\n (result, decorator) => decorator(result, instance.current),\n renderers,\n );\n\n return { instance, decorators };\n}\n\nexport { createDataInstanceRef };\nexport default createDataInstanceRef;"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,oBAAoB;AAAA,EACxB,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,aAAa;AAAA;AAGf,+BAA+B;AAAA,EAC7B,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,KACG;AAAA,GACF;AAED,QAAM,WAAW;AAEjB,QAAM,CAAC,QAAQ,SAAS,YAAa,OAAM;AAE3C,WAAS,UAAU;AAAA,IACjB;AAAA,IACA,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS;AAAA,IACT,cAAc;AAAA,IACd,SAAS;AAAA,IACT;AAAA,IACA,IAAI,KAAK;AAEP,aAAO,CAAC,SAAU,SAAS,QAAQ,KAAK,OAAO;AAAA;AAAA,IAEjD,cAAc;AACZ,aAAO,SAAS;AAAA;AAAA,IAElB;AAAA;AAIF,QAAM,aAAa,QAAQ,MAAM;AAC/B,QAAI,iBAAiB,KAAK,sBAAsB;AAEhD,YAAQ,QAAQ,CAAC,WAAW;AAC1B,UAAI,CAAC;AAAQ;AACb,uBAAiB,OAAO;AAAA;AAG1B,WAAO,KAAK,gBAAgB,QAAQ,CAAC,QAAQ;AAC3C,UAAI,MAAM,QAAQ,eAAe;AAC/B,uBAAe,OAAO,QACpB,eAAe,MACf,CAAC,SAAS,KAAK;AAAA;AAIrB,WAAO;AAAA,KACN;AAIH,WAAS,UAAU,WAAW,SAAS,OACrC,eACA,SAAS;AAEX,WAAS,UAAU,WAAW,MAAM,OAClC,6BACA,SAAS;AAEX,WAAS,UAAU,WAAW,QAAQ,OACpC,+BACA,SAAS;AAEX,WAAS,QAAQ,YAAY,WAAW,UAAU,OAChD,CAAC,QAAQ,cAAc,UAAU,QAAQ,SAAS,UAClD;AAGF,SAAO,EAAE,UAAU;AAAA;AAIrB,IAAO,4BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
const reducePropsGetter = (decorators = [], grid) => (props = {}, extraParams) => {
|
|
3
|
+
let nextProps = props;
|
|
4
|
+
decorators.forEach((decorator) => {
|
|
5
|
+
nextProps = decorator(nextProps, grid, extraParams);
|
|
6
|
+
});
|
|
7
|
+
return nextProps;
|
|
8
|
+
};
|
|
9
|
+
function evaluateTransforms(transforms, value, extraParams = {}, props = {}, grid) {
|
|
10
|
+
let nextProps = props;
|
|
11
|
+
transforms.forEach((transform) => {
|
|
12
|
+
nextProps = transform(value, extraParams, nextProps, grid);
|
|
13
|
+
});
|
|
14
|
+
return nextProps;
|
|
15
|
+
}
|
|
16
|
+
function evaluateFormatters(formatters, value, extraParams = {}, grid) {
|
|
17
|
+
return formatters.reduce((result, formatter) => formatter(result, extraParams, grid), value);
|
|
18
|
+
}
|
|
19
|
+
function composeFormatters(formatters, instance, getItemValue = (record) => record.data.name) {
|
|
20
|
+
return (props) => formatters.reduce((result, formatter) => formatter(result, props, instance), getItemValue(props.record));
|
|
21
|
+
}
|
|
22
|
+
const applyDecorators = (subject, decorators = [], ...args) => decorators.reduce((nextSubject, decorator) => decorator(nextSubject, ...args), subject);
|
|
23
|
+
const decorateColumns = (columns, decorators, grid) => {
|
|
24
|
+
const nextColumns = applyDecorators(columns, decorators.decorateColumns, grid);
|
|
25
|
+
return nextColumns.map((column, index) => applyDecorators(column, decorators.decorateColumn, grid, index));
|
|
26
|
+
};
|
|
27
|
+
const mergeInstance = (instance, instanceHook) => ({
|
|
28
|
+
...instance,
|
|
29
|
+
...instanceHook(instance)
|
|
30
|
+
});
|
|
31
|
+
const registerStateHookToInstance = (instance, stateHook) => {
|
|
32
|
+
const { state, actions } = stateHook(instance);
|
|
33
|
+
return {
|
|
34
|
+
...instance,
|
|
35
|
+
state: {
|
|
36
|
+
...instance.state,
|
|
37
|
+
...state
|
|
38
|
+
},
|
|
39
|
+
actions: {
|
|
40
|
+
...instance.actions,
|
|
41
|
+
...actions
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
const reduceHotKey = (instance, { key, handler, options, allowDocumentHandler }) => ({
|
|
46
|
+
...instance,
|
|
47
|
+
hotKeys: {
|
|
48
|
+
...instance.hotKeys,
|
|
49
|
+
[key]: { handler, options, allowDocumentHandler }
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const registerHotKeysHookToInstance = (instance, hotKeysHook) => {
|
|
53
|
+
const hotKeys = hotKeysHook(instance);
|
|
54
|
+
if (Array.isArray(hotKeys)) {
|
|
55
|
+
return hotKeys.reduce(reduceHotKey, instance);
|
|
56
|
+
}
|
|
57
|
+
return reduceHotKey(instance, hotKeys);
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
applyDecorators,
|
|
61
|
+
composeFormatters,
|
|
62
|
+
decorateColumns,
|
|
63
|
+
evaluateFormatters,
|
|
64
|
+
evaluateTransforms,
|
|
65
|
+
mergeInstance,
|
|
66
|
+
reducePropsGetter,
|
|
67
|
+
registerHotKeysHookToInstance,
|
|
68
|
+
registerStateHookToInstance
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/createDataInstance/utils.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const reducePropsGetter = (decorators = [], grid) => (\n props = {},\n extraParams,\n) => {\n let nextProps = props;\n decorators.forEach((decorator) => {\n nextProps = decorator(nextProps, grid, extraParams);\n });\n return nextProps;\n};\n\n/* eslint-disable-next-line max-params */\nexport function evaluateTransforms(\n transforms,\n value,\n extraParams = {},\n props = {},\n grid,\n) {\n let nextProps = props;\n transforms.forEach((transform) => {\n nextProps = transform(value, extraParams, nextProps, grid);\n });\n return nextProps;\n}\n\n/* eslint-disable-next-line max-params */\nexport function evaluateFormatters(formatters, value, extraParams = {}, grid) {\n return formatters.reduce(\n (result, formatter) => formatter(result, extraParams, grid),\n value,\n );\n}\n\nexport function composeFormatters(\n formatters,\n instance,\n getItemValue = (record) => record.data.name,\n) {\n // todo: make the formatters subscribe to the item props instead of getting the whole instance\n // todo: addd should formatter update to memoize specific ones\n return (props) =>\n formatters.reduce(\n (result, formatter) => formatter(result, props, instance),\n getItemValue(props.record),\n );\n}\n\nexport const applyDecorators = (subject, decorators = [], ...args) =>\n decorators.reduce(\n (nextSubject, decorator) => decorator(nextSubject, ...args),\n subject,\n );\n\nexport const decorateColumns = (columns, decorators, grid) => {\n const nextColumns = applyDecorators(\n columns,\n decorators.decorateColumns,\n grid,\n );\n return nextColumns.map((column, index) =>\n applyDecorators(column, decorators.decorateColumn, grid, index),\n );\n};\n\nexport const mergeInstance = (instance, instanceHook) => ({\n ...instance,\n ...instanceHook(instance),\n});\n\nexport const registerStateHookToInstance = (instance, stateHook) => {\n const { state, actions } = stateHook(instance);\n return {\n ...instance,\n state: {\n ...instance.state,\n ...state,\n },\n actions: {\n ...instance.actions,\n ...actions,\n },\n };\n};\n\nconst reduceHotKey = (\n instance,\n { key, handler, options, allowDocumentHandler },\n) => ({\n ...instance,\n hotKeys: {\n ...instance.hotKeys,\n [key]: { handler, options, allowDocumentHandler },\n },\n});\n\nexport const registerHotKeysHookToInstance = (instance, hotKeysHook) => {\n const hotKeys = hotKeysHook(instance);\n if (Array.isArray(hotKeys)) {\n return hotKeys.reduce(reduceHotKey, instance);\n }\n return reduceHotKey(instance, hotKeys);\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAO,MAAM,oBAAoB,CAAC,aAAa,IAAI,SAAS,CAC1D,QAAQ,IACR,gBACG;AACH,MAAI,YAAY;AAChB,aAAW,QAAQ,CAAC,cAAc;AAChC,gBAAY,UAAU,WAAW,MAAM;AAAA;AAEzC,SAAO;AAAA;AAIF,4BACL,YACA,OACA,cAAc,IACd,QAAQ,IACR,MACA;AACA,MAAI,YAAY;AAChB,aAAW,QAAQ,CAAC,cAAc;AAChC,gBAAY,UAAU,OAAO,aAAa,WAAW;AAAA;AAEvD,SAAO;AAAA;AAIF,4BAA4B,YAAY,OAAO,cAAc,IAAI,MAAM;AAC5E,SAAO,WAAW,OAChB,CAAC,QAAQ,cAAc,UAAU,QAAQ,aAAa,OACtD;AAAA;AAIG,2BACL,YACA,UACA,eAAe,CAAC,WAAW,OAAO,KAAK,MACvC;AAGA,SAAO,CAAC,UACN,WAAW,OACT,CAAC,QAAQ,cAAc,UAAU,QAAQ,OAAO,WAChD,aAAa,MAAM;AAAA;AAIlB,MAAM,kBAAkB,CAAC,SAAS,aAAa,OAAO,SAC3D,WAAW,OACT,CAAC,aAAa,cAAc,UAAU,aAAa,GAAG,OACtD;AAGG,MAAM,kBAAkB,CAAC,SAAS,YAAY,SAAS;AAC5D,QAAM,cAAc,gBAClB,SACA,WAAW,iBACX;AAEF,SAAO,YAAY,IAAI,CAAC,QAAQ,UAC9B,gBAAgB,QAAQ,WAAW,gBAAgB,MAAM;AAAA;AAItD,MAAM,gBAAgB,CAAC,UAAU,iBAAkB;AAAA,KACrD;AAAA,KACA,aAAa;AAAA;AAGX,MAAM,8BAA8B,CAAC,UAAU,cAAc;AAClE,QAAM,EAAE,OAAO,YAAY,UAAU;AACrC,SAAO;AAAA,OACF;AAAA,IACH,OAAO;AAAA,SACF,SAAS;AAAA,SACT;AAAA;AAAA,IAEL,SAAS;AAAA,SACJ,SAAS;AAAA,SACT;AAAA;AAAA;AAAA;AAKT,MAAM,eAAe,CACnB,UACA,EAAE,KAAK,SAAS,SAAS,2BACrB;AAAA,KACD;AAAA,EACH,SAAS;AAAA,OACJ,SAAS;AAAA,KACX,MAAM,EAAE,SAAS,SAAS;AAAA;AAAA;AAIxB,MAAM,gCAAgC,CAAC,UAAU,gBAAgB;AACtE,QAAM,UAAU,YAAY;AAC5B,MAAI,MAAM,QAAQ,UAAU;AAC1B,WAAO,QAAQ,OAAO,cAAc;AAAA;AAEtC,SAAO,aAAa,UAAU;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { PureComponent } from "react";
|
|
3
|
+
import raf from "raf";
|
|
4
|
+
import hoistNonReactStatic from "hoist-non-react-statics";
|
|
5
|
+
const deferComponentRender = (WrappedComponent, fallback) => {
|
|
6
|
+
class DeferredRenderWrapper extends PureComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.state = { shouldRender: false };
|
|
10
|
+
}
|
|
11
|
+
componentDidMount() {
|
|
12
|
+
raf(() => raf(() => this.setState({ shouldRender: true })));
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
return this.state.shouldRender ? /* @__PURE__ */ React2.createElement(WrappedComponent, {
|
|
16
|
+
...this.props
|
|
17
|
+
}) : fallback;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return hoistNonReactStatic(DeferredRenderWrapper, WrappedComponent);
|
|
21
|
+
};
|
|
22
|
+
var defer_render_hoc_default = deferComponentRender;
|
|
23
|
+
export {
|
|
24
|
+
defer_render_hoc_default as default,
|
|
25
|
+
deferComponentRender
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/defer-render-hoc/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { PureComponent } from 'react';\nimport raf from 'raf';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\n\n/**\n * Allows two animation frames to complete to allow other components to update\n * and re-render before mounting and rendering an expensive `WrappedComponent`.\n *\n * @param WrappedComponent\n * @param fallback\n */\nexport const deferComponentRender = (WrappedComponent, fallback) => {\n class DeferredRenderWrapper extends PureComponent {\n state = { shouldRender: false };\n\n componentDidMount() {\n raf(() => raf(() => this.setState({ shouldRender: true })));\n }\n\n render() {\n // eslint-disable-next-line react/destructuring-assignment\n return this.state.shouldRender ? (\n <WrappedComponent {...this.props} />\n ) : (\n fallback\n );\n }\n }\n\n return hoistNonReactStatic(DeferredRenderWrapper, WrappedComponent);\n};\n\nexport default deferComponentRender;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AASO,MAAM,uBAAuB,CAAC,kBAAkB,aAAa;AAClE,sCAAoC,cAAc;AAAA,IAAlD,cAZF;AAYE;AACE,mBAAQ,EAAE,cAAc;AAAA;AAAA,IAExB,oBAAoB;AAClB,UAAI,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,cAAc;AAAA;AAAA,IAGpD,SAAS;AAEP,aAAO,KAAK,MAAM,eAChB,qCAAC,kBAAD;AAAA,WAAsB,KAAK;AAAA,WAE3B;AAAA;AAAA;AAKN,SAAO,oBAAoB,uBAAuB;AAAA;AAGpD,IAAO,2BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/dimsum.config.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "const dimsumConfig = {\n classNamePrefix: 'em-ds',\n};\n\nexport { dimsumConfig };\nexport default dimsumConfig;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA,MAAM,eAAe;AAAA,EACnB,iBAAiB;AAAA;AAInB,IAAO,wBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ScrollSync, ScrollSyncPane } from "./ScrollSync";
|
|
3
|
+
import { Group, GroupContext, GroupItem } from "./GroupContext";
|
|
4
|
+
export {
|
|
5
|
+
Group,
|
|
6
|
+
GroupContext,
|
|
7
|
+
GroupItem,
|
|
8
|
+
ScrollSync,
|
|
9
|
+
ScrollSyncPane
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { ScrollSync, ScrollSyncPane } from './ScrollSync';\nexport { Group, GroupContext, GroupItem } from './GroupContext';\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
const dsBasicSizes = ["s", "m", "l"];
|
|
3
|
+
const sizes = ["xsmall", "small", "medium", "large", "xlarge"];
|
|
4
|
+
const iconSizes = [
|
|
5
|
+
"xxs",
|
|
6
|
+
"xs",
|
|
7
|
+
"s",
|
|
8
|
+
"m",
|
|
9
|
+
"l",
|
|
10
|
+
"xl",
|
|
11
|
+
"xxl"
|
|
12
|
+
];
|
|
13
|
+
const iconColors = [
|
|
14
|
+
["neutral", "900"],
|
|
15
|
+
["neutral", "0"],
|
|
16
|
+
["danger", "900"],
|
|
17
|
+
["warning", "500"],
|
|
18
|
+
["success", "900"],
|
|
19
|
+
["brand-primary", "600"]
|
|
20
|
+
];
|
|
21
|
+
const CHECKBOX_VARIANT = {
|
|
22
|
+
DEFAULT: "variant-default",
|
|
23
|
+
FOCUS: "variant-focus",
|
|
24
|
+
ACTIVE: "variant-active",
|
|
25
|
+
DISABLED: "variant-disabled",
|
|
26
|
+
ERROR: "variant-error"
|
|
27
|
+
};
|
|
28
|
+
const checkboxVariants = [
|
|
29
|
+
CHECKBOX_VARIANT.DEFAULT,
|
|
30
|
+
CHECKBOX_VARIANT.FOCUS,
|
|
31
|
+
CHECKBOX_VARIANT.ACTIVE,
|
|
32
|
+
CHECKBOX_VARIANT.DISABLED,
|
|
33
|
+
CHECKBOX_VARIANT.ERROR
|
|
34
|
+
];
|
|
35
|
+
const COMBOBOX_VARIANT = {
|
|
36
|
+
DEFAULT: "variant-default",
|
|
37
|
+
FOCUS: "variant-focus-input",
|
|
38
|
+
FOCUS_ICON: "variant-focus-icon",
|
|
39
|
+
ACTIVE: "variant-active-input",
|
|
40
|
+
ACTIVE_ICON: "variant-active-icon",
|
|
41
|
+
DISABLED: "variant-disabled",
|
|
42
|
+
ERROR: "variant-error"
|
|
43
|
+
};
|
|
44
|
+
const comboBoxVariants = [
|
|
45
|
+
COMBOBOX_VARIANT.DEFAULT,
|
|
46
|
+
COMBOBOX_VARIANT.FOCUS,
|
|
47
|
+
COMBOBOX_VARIANT.FOCUS_ICON,
|
|
48
|
+
COMBOBOX_VARIANT.ACTIVE,
|
|
49
|
+
COMBOBOX_VARIANT.ACTIVE_ICON,
|
|
50
|
+
COMBOBOX_VARIANT.DISABLED,
|
|
51
|
+
COMBOBOX_VARIANT.ERROR
|
|
52
|
+
];
|
|
53
|
+
const sizeVariants = {
|
|
54
|
+
S: "s",
|
|
55
|
+
M: "m",
|
|
56
|
+
L: "l"
|
|
57
|
+
};
|
|
58
|
+
const position = {
|
|
59
|
+
LEFT: "left",
|
|
60
|
+
RIGHT: "right",
|
|
61
|
+
CENTER: "center"
|
|
62
|
+
};
|
|
63
|
+
const fontColor = {
|
|
64
|
+
NEUTRAL500: "neutral500",
|
|
65
|
+
NEUTRAL700: "neutral700"
|
|
66
|
+
};
|
|
67
|
+
const orientation = ["horizontal", "vertical"];
|
|
68
|
+
const orientationVariants = {
|
|
69
|
+
HORIZONTAL: "horizontal",
|
|
70
|
+
VERTICAL: "vertical"
|
|
71
|
+
};
|
|
72
|
+
export {
|
|
73
|
+
CHECKBOX_VARIANT,
|
|
74
|
+
COMBOBOX_VARIANT,
|
|
75
|
+
checkboxVariants,
|
|
76
|
+
comboBoxVariants,
|
|
77
|
+
dsBasicSizes,
|
|
78
|
+
fontColor,
|
|
79
|
+
iconColors,
|
|
80
|
+
iconSizes,
|
|
81
|
+
orientation,
|
|
82
|
+
orientationVariants,
|
|
83
|
+
position,
|
|
84
|
+
sizeVariants,
|
|
85
|
+
sizes
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=prop-types.js.map
|