@elliemae/ds-shared 3.0.0-alpha.0 → 3.0.0-alpha.1
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/CheckableGroup.js +19 -3
- package/dist/cjs/CheckableGroup.js.map +1 -1
- package/dist/cjs/FocusGroup/FocusGrid.js +18 -5
- package/dist/cjs/FocusGroup/FocusGrid.js.map +1 -1
- package/dist/cjs/FocusGroup/FocusGroup.js +19 -6
- package/dist/cjs/FocusGroup/FocusGroup.js.map +1 -1
- package/dist/cjs/FocusGroup/focusGroupManagerHoc.js +42 -14
- package/dist/cjs/FocusGroup/focusGroupManagerHoc.js.map +1 -1
- package/dist/cjs/FocusGroup/useFocusGroupItem.js +16 -2
- package/dist/cjs/FocusGroup/useFocusGroupItem.js.map +1 -1
- package/dist/cjs/ScrollSync/ScrollSyncPane.js +19 -3
- package/dist/cjs/ScrollSync/ScrollSyncPane.js.map +1 -1
- package/dist/cjs/createDataInstance/createInstancePlugin.js +15 -1
- package/dist/cjs/createDataInstance/createInstancePlugin.js.map +1 -1
- package/dist/cjs/createDataInstance/createInstanceRef.js +41 -9
- package/dist/cjs/createDataInstance/createInstanceRef.js.map +1 -1
- package/dist/cjs/createDataInstance/utils.js +25 -20
- package/dist/cjs/createDataInstance/utils.js.map +1 -1
- package/dist/cjs/defer-render-hoc/index.js +15 -3
- package/dist/cjs/defer-render-hoc/index.js.map +1 -1
- package/dist/cjs/toolbar/ToolbarProvider.js +24 -9
- package/dist/cjs/toolbar/ToolbarProvider.js.map +1 -1
- package/dist/cjs/useDataGrid/initColumnDefinition.js +33 -27
- package/dist/cjs/useDataGrid/initColumnDefinition.js.map +1 -1
- package/dist/cjs/useDataGrid/useDataGrid.js +53 -31
- package/dist/cjs/useDataGrid/useDataGrid.js.map +1 -1
- package/dist/cjs/useDataList/useDataList.js +47 -14
- package/dist/cjs/useDataList/useDataList.js.map +1 -1
- package/dist/cjs/utils.js +18 -2
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/virtualization/AutoHeightList.js +51 -14
- package/dist/cjs/virtualization/AutoHeightList.js.map +1 -1
- package/dist/cjs/virtualization/FluidHeightList.js +38 -7
- package/dist/cjs/virtualization/FluidHeightList.js.map +1 -1
- package/dist/esm/CheckableGroup.js +21 -3
- package/dist/esm/CheckableGroup.js.map +1 -1
- package/dist/esm/FocusGroup/FocusGrid.js +20 -5
- package/dist/esm/FocusGroup/FocusGrid.js.map +1 -1
- package/dist/esm/FocusGroup/FocusGroup.js +21 -6
- package/dist/esm/FocusGroup/FocusGroup.js.map +1 -1
- package/dist/esm/FocusGroup/focusGroupManagerHoc.js +44 -14
- package/dist/esm/FocusGroup/focusGroupManagerHoc.js.map +1 -1
- package/dist/esm/FocusGroup/useFocusGroupItem.js +17 -2
- package/dist/esm/FocusGroup/useFocusGroupItem.js.map +1 -1
- package/dist/esm/ScrollSync/ScrollSyncPane.js +21 -3
- package/dist/esm/ScrollSync/ScrollSyncPane.js.map +1 -1
- package/dist/esm/createDataInstance/createInstancePlugin.js +17 -1
- package/dist/esm/createDataInstance/createInstancePlugin.js.map +1 -1
- package/dist/esm/createDataInstance/createInstanceRef.js +43 -9
- package/dist/esm/createDataInstance/createInstanceRef.js.map +1 -1
- package/dist/esm/createDataInstance/utils.js +27 -20
- package/dist/esm/createDataInstance/utils.js.map +1 -1
- package/dist/esm/defer-render-hoc/index.js +17 -3
- package/dist/esm/defer-render-hoc/index.js.map +1 -1
- package/dist/esm/toolbar/ToolbarProvider.js +26 -9
- package/dist/esm/toolbar/ToolbarProvider.js.map +1 -1
- package/dist/esm/useDataGrid/initColumnDefinition.js +35 -27
- package/dist/esm/useDataGrid/initColumnDefinition.js.map +1 -1
- package/dist/esm/useDataGrid/useDataGrid.js +55 -31
- package/dist/esm/useDataGrid/useDataGrid.js.map +1 -1
- package/dist/esm/useDataList/useDataList.js +49 -14
- package/dist/esm/useDataList/useDataList.js.map +1 -1
- package/dist/esm/utils.js +20 -2
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/virtualization/AutoHeightList.js +53 -14
- package/dist/esm/virtualization/AutoHeightList.js.map +1 -1
- package/dist/esm/virtualization/FluidHeightList.js +40 -7
- package/dist/esm/virtualization/FluidHeightList.js.map +1 -1
- package/package.json +4 -3
- package/dist/types/Animations/BaseAnimation.d.ts +0 -13
- package/dist/types/Animations/Grow.d.ts +0 -12
- package/dist/types/Animations/GrowRight.d.ts +0 -12
- package/dist/types/Animations/GrowVertical.d.ts +0 -1
- package/dist/types/CheckableGroup.d.ts +0 -21
- package/dist/types/DeferRenderAfterComputation.d.ts +0 -7
- package/dist/types/FocusGroup/FocusGrid.d.ts +0 -12
- package/dist/types/FocusGroup/FocusGroup.d.ts +0 -38
- package/dist/types/FocusGroup/FocusGroupContext.d.ts +0 -4
- package/dist/types/FocusGroup/FocusGroupManager.d.ts +0 -26
- package/dist/types/FocusGroup/focusGroupManagerHoc.d.ts +0 -9
- package/dist/types/FocusGroup/index.d.ts +0 -6
- package/dist/types/FocusGroup/useFocusGroupItem.d.ts +0 -4
- package/dist/types/FocusGroup/utils/getNextCellPosition.d.ts +0 -14
- package/dist/types/GroupContext/Group.d.ts +0 -15
- package/dist/types/GroupContext/GroupContext.d.ts +0 -2
- package/dist/types/GroupContext/GroupItem.d.ts +0 -6
- package/dist/types/GroupContext/index.d.ts +0 -3
- package/dist/types/ScrollSync/ScrollSync.d.ts +0 -23
- package/dist/types/ScrollSync/ScrollSyncPane.d.ts +0 -3
- package/dist/types/ScrollSync/ScrollSyncProvider.d.ts +0 -12
- package/dist/types/ScrollSync/index.d.ts +0 -2
- package/dist/types/ScrollSync/useScrollSync.d.ts +0 -7
- package/dist/types/constants.d.ts +0 -30
- package/dist/types/createDataInstance/createInstancePlugin.d.ts +0 -2
- package/dist/types/createDataInstance/createInstanceRef.d.ts +0 -14
- package/dist/types/createDataInstance/tests/createInstanceRef.test.d.ts +0 -0
- package/dist/types/createDataInstance/utils.d.ts +0 -9
- package/dist/types/dimsum.config.d.ts +0 -5
- package/dist/types/index.d.ts +0 -2
- package/dist/types/prop-types.d.ts +0 -41
- package/dist/types/react-spring/index.d.ts +0 -1
- package/dist/types/react-spring/renderprops.d.ts +0 -1
- package/dist/types/toolbar/ToolbarProvider.d.ts +0 -5
- package/dist/types/useDataGrid/VolatileRowsListener.d.ts +0 -7
- package/dist/types/useDataGrid/index.d.ts +0 -1
- package/dist/types/useDataGrid/initColumnDefinition.d.ts +0 -6
- package/dist/types/useDataGrid/useDataGrid.d.ts +0 -9
- package/dist/types/useDataList/index.d.ts +0 -1
- package/dist/types/useDataList/recordIterator.d.ts +0 -1
- package/dist/types/useDataList/useDataList.d.ts +0 -14
- package/dist/types/utils.d.ts +0 -22
- package/dist/types/virtualization/AutoHeightList.d.ts +0 -2
- package/dist/types/virtualization/FluidHeightList.d.ts +0 -2
- package/dist/types/virtualization/index.d.ts +0 -9
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/createDataInstance/utils.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,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,kCACrD,WACA,aAAa;AAGX,MAAM,8BAA8B,CAAC,UAAU,cAAc;AAClE,QAAM,EAAE,OAAO,YAAY,UAAU;AACrC,SAAO,iCACF,WADE;AAAA,IAEL,OAAO,kCACF,SAAS,QACT;AAAA,IAEL,SAAS,kCACJ,SAAS,UACT;AAAA;AAAA;AAKT,MAAM,eAAe,CACnB,UACA,EAAE,KAAK,SAAS,SAAS,2BACrB,iCACD,WADC;AAAA,EAEJ,SAAS,iCACJ,SAAS,UADL;AAAA,KAEN,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
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,8 +2,22 @@ var __create = Object.create;
|
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
7
21
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
22
|
var __export = (target, all) => {
|
|
9
23
|
for (var name in all)
|
|
@@ -44,9 +58,7 @@ const deferComponentRender = (WrappedComponent, fallback) => {
|
|
|
44
58
|
(0, import_raf.default)(() => (0, import_raf.default)(() => this.setState({ shouldRender: true })));
|
|
45
59
|
}
|
|
46
60
|
render() {
|
|
47
|
-
return this.state.shouldRender ? /* @__PURE__ */ import_react.default.createElement(WrappedComponent, {
|
|
48
|
-
...this.props
|
|
49
|
-
}) : fallback;
|
|
61
|
+
return this.state.shouldRender ? /* @__PURE__ */ import_react.default.createElement(WrappedComponent, __spreadValues({}, this.props)) : fallback;
|
|
50
62
|
}
|
|
51
63
|
}
|
|
52
64
|
return (0, import_hoist_non_react_statics.default)(DeferredRenderWrapper, WrappedComponent);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/defer-render-hoc/index.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["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", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAqC;AACrC,iBAAgB;AAChB,qCAAgC;AASzB,MAAM,uBAAuB,CAAC,kBAAkB,aAAa;AAClE,sCAAoC,2BAAc;AAAA,IAAlD,cAZF;AAYE;AACE,mBAAQ,EAAE,cAAc;AAAA;AAAA,IAExB,oBAAoB;AAClB,8BAAI,MAAM,wBAAI,MAAM,KAAK,SAAS,EAAE,cAAc;AAAA;AAAA,IAGpD,SAAS;AAEP,aAAO,KAAK,MAAM,eAChB,mDAAC,kBAAD,mBAAsB,KAAK,UAE3B;AAAA;AAAA;AAKN,SAAO,4CAAoB,uBAAuB;AAAA;AAGpD,IAAO,2BAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
9
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
7
24
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
25
|
var __export = (target, all) => {
|
|
9
26
|
for (var name in all)
|
|
@@ -54,17 +71,15 @@ const ToolbarProvider = (0, import_react.memo)(({ delay = 200, children, onHide
|
|
|
54
71
|
const show = (state) => {
|
|
55
72
|
if (state.reference === tooltipState.reference)
|
|
56
73
|
clearTimeout(hideTimer.current);
|
|
57
|
-
showTimer.current = setTimeout(() => setTooltipState({
|
|
58
|
-
...state,
|
|
74
|
+
showTimer.current = setTimeout(() => setTooltipState(__spreadProps(__spreadValues({}, state), {
|
|
59
75
|
visible: true
|
|
60
|
-
}), delay);
|
|
76
|
+
})), delay);
|
|
61
77
|
onShow();
|
|
62
78
|
};
|
|
63
79
|
const hide = (e, force) => {
|
|
64
80
|
if (!force)
|
|
65
81
|
clearTimeout(showTimer.current);
|
|
66
|
-
hideTimer.current = setTimeout(() => setTooltipState((prevState) => ({
|
|
67
|
-
...prevState,
|
|
82
|
+
hideTimer.current = setTimeout(() => setTooltipState((prevState) => __spreadProps(__spreadValues({}, prevState), {
|
|
68
83
|
visible: false
|
|
69
84
|
})), 100);
|
|
70
85
|
onHide(tooltipState, e);
|
|
@@ -89,9 +104,9 @@ const ToolbarProvider = (0, import_react.memo)(({ delay = 200, children, onHide
|
|
|
89
104
|
}), [tooltipState.reference]);
|
|
90
105
|
return /* @__PURE__ */ import_react.default.createElement(Provider, {
|
|
91
106
|
value
|
|
92
|
-
}, children, /* @__PURE__ */ import_react.default.createElement(import_ds_popper.DSPopover, {
|
|
93
|
-
boundaries: "scrollParent"
|
|
94
|
-
|
|
107
|
+
}, children, /* @__PURE__ */ import_react.default.createElement(import_ds_popper.DSPopover, __spreadProps(__spreadValues({
|
|
108
|
+
boundaries: "scrollParent"
|
|
109
|
+
}, tooltipState.options || {}), {
|
|
95
110
|
content: tooltipState.renderer,
|
|
96
111
|
placement: "left",
|
|
97
112
|
referenceEl: tooltipState.reference,
|
|
@@ -104,7 +119,7 @@ const ToolbarProvider = (0, import_react.memo)(({ delay = 200, children, onHide
|
|
|
104
119
|
}, Content)),
|
|
105
120
|
style: tooltipState.style,
|
|
106
121
|
visible: tooltipState.visible
|
|
107
|
-
}));
|
|
122
|
+
})));
|
|
108
123
|
});
|
|
109
124
|
var ToolbarProvider_default = ToolbarProvider;
|
|
110
125
|
module.exports = __toCommonJS(ToolbarProvider_exports);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/toolbar/ToolbarProvider.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { useMemo, useRef, useState, useEffect, memo } from 'react';\nimport { DSPopover } from '@elliemae/ds-popper';\nimport { useOnClickOutside } from '@elliemae/ds-utilities';\n\nexport const ToolbarContext = React.createContext();\n\nconst { Provider } = ToolbarContext;\n\nconst useScrollListener = (callback, dependencies) => {\n useEffect(() => {\n window.addEventListener('scroll', callback, true);\n return () => {\n window.removeEventListener('scroll', callback, true);\n };\n }, [dependencies]);\n};\n\nconst noop = () => null;\nconst ToolbarProvider = memo(({ delay = 200, children, onHide = noop, onShow = noop }) => {\n const showTimer = useRef();\n const hideTimer = useRef();\n const toolbarRef = useRef();\n const [tooltipState, setTooltipState] = useState({});\n\n const show = (state) => {\n if (state.reference === tooltipState.reference) clearTimeout(hideTimer.current);\n showTimer.current = setTimeout(\n () =>\n setTooltipState({\n ...state,\n visible: true,\n }),\n delay,\n );\n onShow();\n };\n\n const hide = (e, force) => {\n if (!force) clearTimeout(showTimer.current);\n hideTimer.current = setTimeout(\n () =>\n setTooltipState((prevState) => ({\n ...prevState,\n visible: false,\n })),\n 100,\n );\n onHide(tooltipState, e);\n };\n\n useScrollListener((e) => hide(e, true), tooltipState.visible);\n useOnClickOutside(toolbarRef, () => hide());\n\n const keyDownHandler = (e) => {\n if (e.key === 'Escape') {\n hide(e);\n }\n };\n\n useEffect(() => {\n window.addEventListener('keydown', keyDownHandler);\n return () => {\n window.removeEventListener('keydown', keyDownHandler);\n };\n });\n\n const value = useMemo(\n () => ({\n state: tooltipState,\n show,\n hide,\n }),\n [tooltipState.reference],\n );\n\n return (\n <Provider value={value}>\n {children}\n <DSPopover\n boundaries=\"scrollParent\"\n {...(tooltipState.options || {})}\n content={tooltipState.renderer}\n placement=\"left\"\n referenceEl={tooltipState.reference}\n renderer={({ as: Component, style, children: Content }) => (\n <div ref={toolbarRef} onMouseEnter={(e) => show(tooltipState, e)} onMouseLeave={hide}>\n <Component style={style}>{Content}</Component>\n </div>\n )}\n style={tooltipState.style}\n visible={tooltipState.visible}\n />\n </Provider>\n );\n});\n\nexport { ToolbarProvider };\nexport default ToolbarProvider;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkE;AAClE,uBAA0B;AAC1B,0BAAkC;AAE3B,MAAM,iBAAiB,qBAAM;AAEpC,MAAM,EAAE,aAAa;AAErB,MAAM,oBAAoB,CAAC,UAAU,iBAAiB;AACpD,8BAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,UAAU;AAC5C,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,UAAU;AAAA;AAAA,KAEhD,CAAC;AAAA;AAGN,MAAM,OAAO,MAAM;AACnB,MAAM,kBAAkB,uBAAK,CAAC,EAAE,QAAQ,KAAK,UAAU,SAAS,MAAM,SAAS,WAAW;AACxF,QAAM,YAAY;AAClB,QAAM,YAAY;AAClB,QAAM,aAAa;AACnB,QAAM,CAAC,cAAc,mBAAmB,2BAAS;AAEjD,QAAM,OAAO,CAAC,UAAU;AACtB,QAAI,MAAM,cAAc,aAAa;AAAW,mBAAa,UAAU;AACvE,cAAU,UAAU,WAClB,MACE,gBAAgB,iCACX,QADW;AAAA,MAEd,SAAS;AAAA,SAEb;AAEF;AAAA;AAGF,QAAM,OAAO,CAAC,GAAG,UAAU;AACzB,QAAI,CAAC;AAAO,mBAAa,UAAU;AACnC,cAAU,UAAU,WAClB,MACE,gBAAgB,CAAC,cAAe,iCAC3B,YAD2B;AAAA,MAE9B,SAAS;AAAA,SAEb;AAEF,WAAO,cAAc;AAAA;AAGvB,oBAAkB,CAAC,MAAM,KAAK,GAAG,OAAO,aAAa;AACrD,6CAAkB,YAAY,MAAM;AAEpC,QAAM,iBAAiB,CAAC,MAAM;AAC5B,QAAI,EAAE,QAAQ,UAAU;AACtB,WAAK;AAAA;AAAA;AAIT,8BAAU,MAAM;AACd,WAAO,iBAAiB,WAAW;AACnC,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW;AAAA;AAAA;AAI1C,QAAM,QAAQ,0BACZ,MAAO;AAAA,IACL,OAAO;AAAA,IACP;AAAA,IACA;AAAA,MAEF,CAAC,aAAa;AAGhB,SACE,mDAAC,UAAD;AAAA,IAAU;AAAA,KACP,UACD,mDAAC,4BAAD;AAAA,IACE,YAAW;AAAA,KACN,aAAa,WAAW,KAF/B;AAAA,IAGE,SAAS,aAAa;AAAA,IACtB,WAAU;AAAA,IACV,aAAa,aAAa;AAAA,IAC1B,UAAU,CAAC,EAAE,IAAI,WAAW,OAAO,UAAU,cAC3C,mDAAC,OAAD;AAAA,MAAK,KAAK;AAAA,MAAY,cAAc,CAAC,MAAM,KAAK,cAAc;AAAA,MAAI,cAAc;AAAA,OAC9E,mDAAC,WAAD;AAAA,MAAW;AAAA,OAAe;AAAA,IAG9B,OAAO,aAAa;AAAA,IACpB,SAAS,aAAa;AAAA;AAAA;AAO9B,IAAO,0BAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
9
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
7
24
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
25
|
var __export = (target, all) => {
|
|
9
26
|
for (var name in all)
|
|
@@ -37,12 +54,10 @@ var React = __toESM(require("react"));
|
|
|
37
54
|
var import_react = __toESM(require("react"));
|
|
38
55
|
var import_uuid = require("uuid");
|
|
39
56
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
40
|
-
const appendHeaderFormatter = (0, import_ds_utilities.curry)((formatter, column) => ({
|
|
41
|
-
|
|
42
|
-
header: {
|
|
43
|
-
...column.header,
|
|
57
|
+
const appendHeaderFormatter = (0, import_ds_utilities.curry)((formatter, column) => __spreadProps(__spreadValues({}, column), {
|
|
58
|
+
header: __spreadProps(__spreadValues({}, column.header), {
|
|
44
59
|
formatters: [...(0, import_ds_utilities.get)(column, "header.formatters", []), formatter]
|
|
45
|
-
}
|
|
60
|
+
})
|
|
46
61
|
}));
|
|
47
62
|
const appendCellFormatter = (0, import_ds_utilities.curry)((formatter, column, path = "formatters") => {
|
|
48
63
|
const nextColumn = (0, import_ds_utilities.cloneDeep)(column);
|
|
@@ -69,16 +84,13 @@ const defaultColumnDefinitionOptions = {
|
|
|
69
84
|
const mergeClassNameToColumnHeader = (0, import_ds_utilities.curry)((className, column) => {
|
|
70
85
|
const headerProps = (0, import_ds_utilities.get)(column, ["header", "props"], {});
|
|
71
86
|
const headerClassName = headerProps.className || "";
|
|
72
|
-
return {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
...column.header,
|
|
76
|
-
props: {
|
|
77
|
-
...headerProps,
|
|
87
|
+
return __spreadProps(__spreadValues({}, column), {
|
|
88
|
+
header: __spreadProps(__spreadValues({}, column.header), {
|
|
89
|
+
props: __spreadProps(__spreadValues({}, headerProps), {
|
|
78
90
|
className: `${headerClassName} ${className}`
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
};
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
});
|
|
82
94
|
});
|
|
83
95
|
const initColumnDefinition = (options = {}) => {
|
|
84
96
|
return (column) => {
|
|
@@ -87,40 +99,34 @@ const initColumnDefinition = (options = {}) => {
|
|
|
87
99
|
textAlign: "right"
|
|
88
100
|
};
|
|
89
101
|
}
|
|
90
|
-
const { useTextTruncation = true, isUserColumn, visible, normalize } = {
|
|
91
|
-
...defaultColumnDefinitionOptions,
|
|
92
|
-
...options
|
|
93
|
-
};
|
|
102
|
+
const { useTextTruncation = true, isUserColumn, visible, normalize } = __spreadValues(__spreadValues({}, defaultColumnDefinitionOptions), options);
|
|
94
103
|
if (normalize) {
|
|
95
104
|
column.originalProperty = column.property;
|
|
96
105
|
column.property = column.property.replace(/\s+/g, "");
|
|
97
106
|
}
|
|
98
|
-
column.props = {
|
|
99
|
-
...column.props,
|
|
107
|
+
column.props = __spreadProps(__spreadValues({}, column.props), {
|
|
100
108
|
style: {}
|
|
101
|
-
};
|
|
102
|
-
column.header = {
|
|
103
|
-
...column.header,
|
|
109
|
+
});
|
|
110
|
+
column.header = __spreadProps(__spreadValues({}, column.header), {
|
|
104
111
|
label: column.label,
|
|
105
112
|
formatters: [...(0, import_ds_utilities.get)(column, ["header", "formatters"], [])],
|
|
106
113
|
props: {
|
|
107
114
|
style: column.headerStyle || {}
|
|
108
115
|
}
|
|
109
|
-
};
|
|
116
|
+
});
|
|
110
117
|
if (useTextTruncation && !((0, import_ds_utilities.isFunction)(column.customHeaderRenderer) || column.header.formatters.length)) {
|
|
111
118
|
column.header.formatters.push((value) => /* @__PURE__ */ import_react.default.createElement("span", {
|
|
112
119
|
className: "cell-value"
|
|
113
120
|
}, value));
|
|
114
121
|
}
|
|
115
|
-
column.cell = {
|
|
116
|
-
...column.cell,
|
|
122
|
+
column.cell = __spreadProps(__spreadValues({}, column.cell), {
|
|
117
123
|
transforms: [],
|
|
118
124
|
formatters: [...(0, import_ds_utilities.get)(column, ["cell", "formatters"], [])],
|
|
119
125
|
scrollingFormatters: [...(0, import_ds_utilities.get)(column, ["cell", "formatters"], [])],
|
|
120
126
|
props: {
|
|
121
127
|
style: column.cellStyle || {}
|
|
122
128
|
}
|
|
123
|
-
};
|
|
129
|
+
});
|
|
124
130
|
if (useTextTruncation && !((0, import_ds_utilities.isFunction)(column.customRenderer) || column.cell.formatters.length)) {
|
|
125
131
|
column.cell.formatters.push((value) => /* @__PURE__ */ import_react.default.createElement("span", {
|
|
126
132
|
className: "cell-value",
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/useDataGrid/initColumnDefinition.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable react/display-name */\nimport React from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n get,\n curry,\n set,\n cloneDeep,\n isFunction,\n} from '@elliemae/ds-utilities';\n\n// TODO: use lenses to access nested fields\n\nexport const appendHeaderFormatter = curry((formatter, column) => ({\n ...column,\n header: {\n ...column.header,\n formatters: [...get(column, 'header.formatters', []), formatter],\n },\n}));\n\nexport const appendCellFormatter = curry(\n (formatter, column, path = 'formatters') => {\n const nextColumn = cloneDeep(column);\n const formatters = get(nextColumn, ['cell', path], []);\n const scrollingFormatters = get(nextColumn, 'cell.scrollingFormatters', []);\n if (Array.isArray(formatter)) {\n if (formatter[1]) scrollingFormatters.push(formatter[1]);\n formatters.push(formatter[0]);\n } else {\n formatters.push(formatter);\n scrollingFormatters.push(formatter);\n }\n set(nextColumn, ['cell', path], formatters);\n set(nextColumn, 'cell.scrollingFormatters', scrollingFormatters);\n return nextColumn;\n },\n);\n\nconst defaultColumnDefinitionOptions = {\n normalize: false,\n useTextTruncation: true,\n isUserColumn: true,\n visible: true,\n};\n\nexport const mergeClassNameToColumnHeader = curry((className, column) => {\n const headerProps = get(column, ['header', 'props'], {});\n const headerClassName = headerProps.className || '';\n return {\n ...column,\n header: {\n ...column.header,\n props: {\n ...headerProps,\n className: `${headerClassName} ${className}`,\n },\n },\n };\n});\n\nexport const initColumnDefinition = (options = {}) => {\n // eslint-disable-next-line complexity\n return (column) => {\n // todo: clean this\n if (column.type === 'number') {\n // eslint-disable-next-line no-param-reassign\n column.cellStyle = {\n textAlign: 'right',\n };\n }\n const { useTextTruncation = true, isUserColumn, visible, normalize } = {\n ...defaultColumnDefinitionOptions,\n ...options,\n };\n\n if (normalize) {\n // eslint-disable-next-line no-param-reassign\n column.originalProperty = column.property;\n // eslint-disable-next-line no-param-reassign\n column.property = column.property.replace(/\\s+/g, '');\n }\n\n // eslint-disable-next-line no-param-reassign\n column.props = {\n ...column.props,\n style: {},\n };\n // eslint-disable-next-line no-param-reassign\n column.header = {\n ...column.header,\n label: column.label,\n formatters: [...get(column, ['header', 'formatters'], [])],\n props: {\n style: column.headerStyle || {},\n },\n };\n if (\n useTextTruncation &&\n !(\n isFunction(column.customHeaderRenderer) ||\n column.header.formatters.length\n )\n ) {\n column.header.formatters.push((value) => (\n <span className=\"cell-value\">{value}</span>\n ));\n }\n\n // eslint-disable-next-line no-param-reassign\n column.cell = {\n ...column.cell,\n transforms: [],\n formatters: [...get(column, ['cell', 'formatters'], [])],\n scrollingFormatters: [...get(column, ['cell', 'formatters'], [])],\n props: {\n style: column.cellStyle || {},\n },\n };\n\n if (\n useTextTruncation &&\n !(isFunction(column.customRenderer) || column.cell.formatters.length)\n ) {\n column.cell.formatters.push((value) => (\n <span\n className=\"cell-value\"\n style={{\n justifyContent:\n column.type === 'number' ? 'flex-end' : 'flex-start',\n }}\n >\n {value}\n </span>\n ));\n }\n // eslint-disable-next-line no-param-reassign\n column.uuid = column.uuid || uuidv4();\n // eslint-disable-next-line no-param-reassign\n column.visible = column.visible === undefined ? visible : column.visible;\n // eslint-disable-next-line no-param-reassign, max-lines\n column.isUserColumn = column.isUserColumn || isUserColumn;\n // eslint-disable-next-line no-param-reassign\n column.headerHookEffects = [];\n return column;\n };\n};\n\nexport default initColumnDefinition;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,39 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
9
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
7
24
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
25
|
+
var __objRest = (source, exclude) => {
|
|
26
|
+
var target = {};
|
|
27
|
+
for (var prop in source)
|
|
28
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
if (source != null && __getOwnPropSymbols)
|
|
31
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
32
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
33
|
+
target[prop] = source[prop];
|
|
34
|
+
}
|
|
35
|
+
return target;
|
|
36
|
+
};
|
|
8
37
|
var __export = (target, all) => {
|
|
9
38
|
for (var name in all)
|
|
10
39
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -40,14 +69,20 @@ var import_utils = require("../createDataInstance/utils");
|
|
|
40
69
|
var import_VolatileRowsListener = require("./VolatileRowsListener");
|
|
41
70
|
var import_utils2 = require("../utils");
|
|
42
71
|
const IS_INTERNET_EXPLORER = (0, import_utils2.isInternetExplorer)();
|
|
43
|
-
const useDataGrid = ({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
72
|
+
const useDataGrid = (_a) => {
|
|
73
|
+
var _b = _a, {
|
|
74
|
+
uuid: uuidProp,
|
|
75
|
+
plugins: pluginsFromProps,
|
|
76
|
+
rows,
|
|
77
|
+
columns,
|
|
78
|
+
renderers = {}
|
|
79
|
+
} = _b, props = __objRest(_b, [
|
|
80
|
+
"uuid",
|
|
81
|
+
"plugins",
|
|
82
|
+
"rows",
|
|
83
|
+
"columns",
|
|
84
|
+
"renderers"
|
|
85
|
+
]);
|
|
51
86
|
const plugins = pluginsFromProps;
|
|
52
87
|
const instance = (0, import_react.useRef)();
|
|
53
88
|
const tableRef = (0, import_react.useRef)();
|
|
@@ -131,30 +166,18 @@ const useDataGrid = ({
|
|
|
131
166
|
plugins.forEach((plugin) => nextDecorators = plugin(nextDecorators));
|
|
132
167
|
return nextDecorators;
|
|
133
168
|
}, [plugins]);
|
|
134
|
-
instance.current = decorators.decorateGrid.reduce((nextInstance, decorator) => ({
|
|
135
|
-
...nextInstance,
|
|
136
|
-
...decorator(instance.current)
|
|
137
|
-
}), instance.current);
|
|
169
|
+
instance.current = decorators.decorateGrid.reduce((nextInstance, decorator) => __spreadValues(__spreadValues({}, nextInstance), decorator(instance.current)), instance.current);
|
|
138
170
|
instance.current = decorators.registerStateHook.reduce((nextInstance, decorator) => {
|
|
139
171
|
const { state, actions } = decorator(instance.current);
|
|
140
|
-
return {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
...state
|
|
145
|
-
},
|
|
146
|
-
actions: {
|
|
147
|
-
...nextInstance.actions,
|
|
148
|
-
...actions
|
|
149
|
-
}
|
|
150
|
-
};
|
|
172
|
+
return __spreadProps(__spreadValues({}, nextInstance), {
|
|
173
|
+
state: __spreadValues(__spreadValues({}, nextInstance.state), state),
|
|
174
|
+
actions: __spreadValues(__spreadValues({}, nextInstance.actions), actions)
|
|
175
|
+
});
|
|
151
176
|
}, instance.current);
|
|
152
|
-
const reduceHotKey = (nextInstance, { key, handler, options }) => ({
|
|
153
|
-
|
|
154
|
-
hotKeys: {
|
|
155
|
-
...nextInstance.hotKeys,
|
|
177
|
+
const reduceHotKey = (nextInstance, { key, handler, options }) => __spreadProps(__spreadValues({}, nextInstance), {
|
|
178
|
+
hotKeys: __spreadProps(__spreadValues({}, nextInstance.hotKeys), {
|
|
156
179
|
[key]: { handler, options }
|
|
157
|
-
}
|
|
180
|
+
})
|
|
158
181
|
});
|
|
159
182
|
instance.current = decorators.registerHotKeys.reduce((nextInstance, decorator) => {
|
|
160
183
|
const hotKeys = decorator(nextInstance);
|
|
@@ -184,10 +207,9 @@ const useDataGrid = ({
|
|
|
184
207
|
}
|
|
185
208
|
if (props.instanceRef)
|
|
186
209
|
(0, import_ds_utilities.setRef)(props.instanceRef, instance.current);
|
|
187
|
-
return {
|
|
188
|
-
...instance.current,
|
|
210
|
+
return __spreadProps(__spreadValues({}, instance.current), {
|
|
189
211
|
decorators
|
|
190
|
-
};
|
|
212
|
+
});
|
|
191
213
|
};
|
|
192
214
|
var useDataGrid_default = useDataGrid;
|
|
193
215
|
module.exports = __toCommonJS(useDataGrid_exports);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/useDataGrid/useDataGrid.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport {\n cloneDeep,\n compose,\n isEqual,\n isObject,\n setRef, \n usePrevious, \n useDerivedStateFromProps \n} from '@elliemae/ds-utilities';\nimport { useMemo, useRef, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport * as resolve from 'table-resolver';\nimport { initColumnDefinition } from './initColumnDefinition';\nimport {\n applyDecorators,\n decorateColumns,\n reducePropsGetter,\n} from '../createDataInstance/utils';\nimport { VolatileRowsListener } from './VolatileRowsListener';\nimport { isInternetExplorer } from '../utils';\n\nconst IS_INTERNET_EXPLORER = isInternetExplorer();\n\n// TODO: Reuse createDataInstance for the grid the same\n// way as the list does ex: packages/ds-shared/src/useDataList/useDataList.js\n// eslint-disable-next-line max-statements\nexport const useDataGrid = ({\n uuid: uuidProp,\n plugins: pluginsFromProps,\n rows,\n columns,\n renderers = {},\n ...props\n}) => {\n const plugins = pluginsFromProps;\n const instance = useRef();\n const tableRef = useRef();\n const headerRef = useRef();\n const bodyRef = useRef();\n const bodyInnerRef = useRef();\n const [uuid] = useState(uuidProp || (() => uuidv4()));\n const [hasScroll, setHasScroll] = useState(false);\n const [isRowDragging, setIsRowDragging] = useState(false);\n const isScrolling = useRef();\n const shouldRefocus = useRef(); // todo: we probably need a plugin for focus related stuff\n const [RowsObserver] = useState(() => new VolatileRowsListener());\n\n // todo move this with rows composition\n const [originalRows, updateRows] = useDerivedStateFromProps(rows, {\n onUpdate: resolve.resolve({\n columns,\n method: (extra) =>\n compose(\n resolve.byFunction('valueTransformation')(extra),\n resolve.nested(extra),\n ),\n }),\n updateOnStateChange: true,\n });\n\n instance.current = {\n decoratedRenderers: cloneDeep(renderers),\n decoratedColumns: columns,\n columns,\n rows,\n composedRows: originalRows,\n getRowProps: [],\n getHeaderRowProps: [],\n getBodyProps: [],\n getTableProps: [],\n effects: [],\n uuid,\n props,\n refs: {\n table: tableRef,\n body: bodyRef,\n header: headerRef,\n innerBody: bodyInnerRef,\n },\n state: {\n hasScroll,\n },\n actions: {\n updateRows,\n },\n updateRows,\n // eslint-disable-next-line no-return-assign\n enableEvents: () =>\n (document.body.style.pointerEvents = IS_INTERNET_EXPLORER ? '' : null),\n // eslint-disable-next-line no-return-assign\n disableEvents: () => (document.body.style.pointerEvents = 'none'),\n observeRows: (observer) => RowsObserver.observe(observer),\n hotKeys: {},\n shouldRefocus,\n isScrolling,\n setHasScroll,\n setIsRowDragging,\n isRowDragging,\n plugins,\n };\n instance.current.getState = () => instance.current.state;\n instance.current.getInstance = () => instance.current;\n\n const defaultDecorators = {\n decorateGrid: [],\n registerStateHook: [],\n registerHotKeys: [],\n decorateColumn: [],\n decorateColumns: [\n (cols) =>\n cols.map((col) =>\n initColumnDefinition({\n useTextTruncation: col.useTextTruncation,\n wrapText: props.wrapText,\n normalize: props.normalizeDataKeys,\n })(col),\n ),\n ],\n decorateRenderers: [],\n getRowProps: [],\n getHeaderRowProps: [],\n getBodyProps: [],\n getTableProps: [],\n getHeaderProps: [],\n composeRows: [],\n };\n\n const decorators = useMemo(() => {\n let nextDecorators = defaultDecorators;\n // eslint-disable-next-line no-return-assign\n plugins.forEach((plugin) => (nextDecorators = plugin(nextDecorators)));\n return nextDecorators;\n }, [plugins]);\n\n instance.current = decorators.decorateGrid.reduce(\n (nextInstance, decorator) => ({\n ...nextInstance,\n ...decorator(instance.current),\n }),\n instance.current,\n );\n\n instance.current = decorators.registerStateHook.reduce(\n (nextInstance, decorator) => {\n const { state, actions } = decorator(instance.current);\n return {\n ...nextInstance,\n state: {\n ...nextInstance.state,\n ...state,\n },\n actions: {\n ...nextInstance.actions,\n ...actions,\n },\n };\n },\n instance.current,\n );\n\n const reduceHotKey = (nextInstance, { key, handler, options }) => ({\n ...nextInstance,\n hotKeys: {\n ...nextInstance.hotKeys,\n [key]: { handler, options },\n },\n });\n instance.current = decorators.registerHotKeys.reduce(\n (nextInstance, decorator) => {\n const hotKeys = decorator(nextInstance);\n if (Array.isArray(hotKeys)) {\n return hotKeys.reduce(reduceHotKey, nextInstance);\n }\n return reduceHotKey(nextInstance, hotKeys);\n },\n instance.current,\n );\n\n instance.current.decoratedRenderers = applyDecorators(\n instance.current.decoratedRenderers,\n decorators.decorateRenderers,\n instance.current,\n );\n\n instance.current.decoratedColumns = useMemo(() => {\n const visibleColumns = cloneDeep(columns).filter(\n (column) => typeof column.visible === 'undefined' || column.visible,\n );\n return visibleColumns.length\n ? decorateColumns(visibleColumns, decorators, instance.current)\n : [];\n }, [columns]);\n\n instance.current.getBodyProps = reducePropsGetter(\n decorators.getBodyProps,\n instance.current,\n );\n instance.current.getHeaderProps = reducePropsGetter(\n decorators.getHeaderProps,\n instance.current,\n );\n instance.current.getRowProps = reducePropsGetter(\n decorators.getRowProps,\n instance.current,\n );\n instance.current.getHeaderRowProps = reducePropsGetter(\n decorators.getHeaderRowProps,\n instance.current,\n );\n instance.current.getTableProps = reducePropsGetter(\n decorators.getTableProps,\n instance.current,\n );\n\n instance.current.composedRows = decorators.composeRows.reduce(\n (nextRows, getter) => getter(nextRows, instance.current),\n instance.current.composedRows,\n );\n\n RowsObserver.notify(instance.current.composedRows);\n\n const currentShouldRefocus = instance.current.shouldRefocus.current;\n const prevState = usePrevious(instance.current.state);\n if (isObject(currentShouldRefocus) && currentShouldRefocus.forced) {\n instance.current.shouldRefocus.current = currentShouldRefocus.value;\n } else {\n instance.current.shouldRefocus.current = !isEqual(\n prevState,\n instance.current.state,\n );\n }\n\n if (props.instanceRef) setRef(props.instanceRef, instance.current);\n\n return {\n ...instance.current,\n decorators,\n };\n};\n\nexport default useDataGrid;\n\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,39 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
9
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
7
24
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
25
|
+
var __objRest = (source, exclude) => {
|
|
26
|
+
var target = {};
|
|
27
|
+
for (var prop in source)
|
|
28
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
if (source != null && __getOwnPropSymbols)
|
|
31
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
32
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
33
|
+
target[prop] = source[prop];
|
|
34
|
+
}
|
|
35
|
+
return target;
|
|
36
|
+
};
|
|
8
37
|
var __export = (target, all) => {
|
|
9
38
|
for (var name in all)
|
|
10
39
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -45,30 +74,34 @@ const listRenderers = {
|
|
|
45
74
|
list: "ul",
|
|
46
75
|
item: "li"
|
|
47
76
|
};
|
|
48
|
-
const useDataList = ({
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
77
|
+
const useDataList = (_a) => {
|
|
78
|
+
var _b = _a, {
|
|
79
|
+
data = [],
|
|
80
|
+
plugins = [],
|
|
81
|
+
renderers = listRenderers,
|
|
82
|
+
itemRenderer = [],
|
|
83
|
+
customDecorators
|
|
84
|
+
} = _b, props = __objRest(_b, [
|
|
85
|
+
"data",
|
|
86
|
+
"plugins",
|
|
87
|
+
"renderers",
|
|
88
|
+
"itemRenderer",
|
|
89
|
+
"customDecorators"
|
|
90
|
+
]);
|
|
56
91
|
const listRef = (0, import_react.useRef)();
|
|
57
|
-
const { instance, decorators } = (0, import_createInstanceRef.createDataInstanceRef)({
|
|
92
|
+
const { instance, decorators } = (0, import_createInstanceRef.createDataInstanceRef)(__spreadValues({
|
|
58
93
|
data,
|
|
59
94
|
renderers,
|
|
60
95
|
plugins,
|
|
61
|
-
customDecorators: {
|
|
62
|
-
...customDecorators,
|
|
96
|
+
customDecorators: __spreadProps(__spreadValues({}, customDecorators), {
|
|
63
97
|
recordIterator: import_recordIterator.recordIterator,
|
|
64
98
|
getListProps: [],
|
|
65
99
|
getItemProps: [],
|
|
66
100
|
itemRenderer: [...itemRenderer],
|
|
67
101
|
record: [],
|
|
68
102
|
records: []
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
});
|
|
103
|
+
})
|
|
104
|
+
}, props));
|
|
72
105
|
instance.current.getListRef = () => listRef;
|
|
73
106
|
instance.current.setListRef = (ref) => {
|
|
74
107
|
listRef.current = ref;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/useDataList/useDataList.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import { useMemo, useRef } from 'react';\nimport { setRef } from '@elliemae/ds-utilities';\nimport get from 'lodash/get';\nimport {\n composeFormatters,\n reducePropsGetter,\n} from '../createDataInstance/utils';\nimport { recordIterator } from './recordIterator';\nimport { createDataInstanceRef } from '../createDataInstance/createInstanceRef';\n\nexport const getItemLabel = (record, nameKey = 'name') =>\n get(record, ['data', nameKey]);\nexport const getItemChildren = (record, childrenKey = 'children') =>\n get(record, ['data', childrenKey]);\n\nconst listRenderers = {\n list: 'ul',\n item: 'li',\n};\n\n// todo: check if a plugin is a LIST plugin rather than GRID\nexport const useDataList = ({\n data = [],\n plugins = [],\n renderers = listRenderers,\n itemRenderer = [],\n customDecorators,\n ...props\n}) => {\n const listRef = useRef();\n const { instance, decorators } = createDataInstanceRef({\n data,\n renderers,\n plugins,\n customDecorators: {\n ...customDecorators,\n recordIterator,\n getListProps: [],\n getItemProps: [],\n itemRenderer: [...itemRenderer], // components reduce to compose item content\n record: [],\n records: [],\n },\n ...props,\n });\n instance.current.getListRef = () => listRef;\n instance.current.setListRef = (ref) => {\n listRef.current = ref;\n };\n instance.current.getItemLabel = (record) =>\n getItemLabel(record, props.nameKey);\n instance.current.getItemChildren = (record) =>\n getItemChildren(record, props.childrenKey);\n\n instance.current.decorators = decorators;\n instance.current.getListProps = reducePropsGetter(\n decorators.getListProps,\n instance.current,\n );\n instance.current.getItemProps = reducePropsGetter(\n decorators.getItemProps,\n instance.current,\n );\n instance.current.itemRenderer = composeFormatters(\n instance.current.decorators.itemRenderer,\n instance.current,\n );\n\n instance.current.records = useMemo(() => {\n // record iterator TREE / Simple\n let nextRecords = recordIterator(\n data,\n instance.current.decorators.recordIterator,\n decorators.record,\n instance.current,\n );\n\n // compose all records\n nextRecords = decorators.records.reduce(\n (nextRows, getter) => getter(nextRows, instance.current),\n nextRecords,\n );\n\n return nextRecords;\n });\n\n if (props.instanceRef) setRef(props.instanceRef, instance.current);\n\n return instance.current;\n};\n\nexport default useDataList;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAgC;AAChC,0BAAuB;AACvB,iBAAgB;AAChB,mBAGO;AACP,4BAA+B;AAC/B,+BAAsC;AAE/B,MAAM,eAAe,CAAC,QAAQ,UAAU,WAC7C,wBAAI,QAAQ,CAAC,QAAQ;AAChB,MAAM,kBAAkB,CAAC,QAAQ,cAAc,eACpD,wBAAI,QAAQ,CAAC,QAAQ;AAEvB,MAAM,gBAAgB;AAAA,EACpB,MAAM;AAAA,EACN,MAAM;AAAA;AAID,MAAM,cAAc,CAAC,OAOtB;AAPsB,eAC1B;AAAA,WAAO;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,eAAe;AAAA,IACf;AAAA,MAL0B,IAMvB,kBANuB,IAMvB;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,UAAU;AAChB,QAAM,EAAE,UAAU,eAAe,oDAAsB;AAAA,IACrD;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB,iCACb,mBADa;AAAA,MAEhB;AAAA,MACA,cAAc;AAAA,MACd,cAAc;AAAA,MACd,cAAc,CAAC,GAAG;AAAA,MAClB,QAAQ;AAAA,MACR,SAAS;AAAA;AAAA,KAER;AAEL,WAAS,QAAQ,aAAa,MAAM;AACpC,WAAS,QAAQ,aAAa,CAAC,QAAQ;AACrC,YAAQ,UAAU;AAAA;AAEpB,WAAS,QAAQ,eAAe,CAAC,WAC/B,aAAa,QAAQ,MAAM;AAC7B,WAAS,QAAQ,kBAAkB,CAAC,WAClC,gBAAgB,QAAQ,MAAM;AAEhC,WAAS,QAAQ,aAAa;AAC9B,WAAS,QAAQ,eAAe,oCAC9B,WAAW,cACX,SAAS;AAEX,WAAS,QAAQ,eAAe,oCAC9B,WAAW,cACX,SAAS;AAEX,WAAS,QAAQ,eAAe,oCAC9B,SAAS,QAAQ,WAAW,cAC5B,SAAS;AAGX,WAAS,QAAQ,UAAU,0BAAQ,MAAM;AAEvC,QAAI,cAAc,0CAChB,MACA,SAAS,QAAQ,WAAW,gBAC5B,WAAW,QACX,SAAS;AAIX,kBAAc,WAAW,QAAQ,OAC/B,CAAC,UAAU,WAAW,OAAO,UAAU,SAAS,UAChD;AAGF,WAAO;AAAA;AAGT,MAAI,MAAM;AAAa,oCAAO,MAAM,aAAa,SAAS;AAE1D,SAAO,SAAS;AAAA;AAGlB,IAAO,sBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/utils.js
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
var __create = Object.create;
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
8
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
9
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
7
24
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
25
|
var __export = (target, all) => {
|
|
9
26
|
for (var name in all)
|
|
@@ -83,8 +100,7 @@ const getTotalScroll = (elem) => {
|
|
|
83
100
|
const getTransformProps = (x, y) => ({
|
|
84
101
|
transform: `translate(${x}px, ${y}px)`
|
|
85
102
|
});
|
|
86
|
-
const listWithChildren = (list, childrenProp) => list.map((item) => ({
|
|
87
|
-
...item,
|
|
103
|
+
const listWithChildren = (list, childrenProp) => list.map((item) => __spreadProps(__spreadValues({}, item), {
|
|
88
104
|
[childrenProp]: item[childrenProp] ? listWithChildren(item[childrenProp], childrenProp) : []
|
|
89
105
|
}));
|
|
90
106
|
const getAllNonEmptyNodesIds = (items, childrenProp) => {
|
package/dist/cjs/utils.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable no-cond-assign */\nexport const objectType = (obj) =>\n Object.prototype.toString.call(obj).slice(8, -1);\nexport const isDefined = (param) => typeof param !== 'undefined';\nexport const isUndefined = (param) => typeof param === 'undefined';\nexport const isFunction = (param) => typeof param === 'function';\nexport const isNumber = param => typeof param === 'number' && !isNaN(param); // eslint-disable-line\nexport const isString = (str) => objectType(str) === 'String';\nexport const isArray = (arr) => objectType(arr) === 'Array';\n\nexport const closest = (target, selector) => {\n // closest(e.target, '.field')\n while (target) {\n // eslint-disable-line\n if (target.matches && target.matches(selector)) return target;\n if (target.msMatchesSelector && target.msMatchesSelector(selector))\n return target;\n // eslint-disable-next-line no-param-reassign\n target = target.parentNode;\n }\n return null;\n};\n\nexport const getOffsetRect = (elem) => {\n // (1)\n const box = elem.getBoundingClientRect();\n\n const { body, documentElement } = document;\n\n // (2)\n const scrollTop =\n window.pageYOffset || documentElement.scrollTop || body.scrollTop;\n const scrollLeft =\n window.pageXOffset || documentElement.scrollLeft || body.scrollLeft;\n\n // (3)\n const clientTop = documentElement.clientTop || body.clientTop || 0;\n const clientLeft = documentElement.clientLeft || body.clientLeft || 0;\n\n // (4)\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return { top: Math.round(top), left: Math.round(left) };\n};\n\nexport const getTotalScroll = (elem) => {\n let top = 0;\n let left = 0;\n\n // eslint-disable-next-line no-param-reassign\n while ((elem = elem.parentNode)) {\n top += elem.scrollTop || 0;\n left += elem.scrollLeft || 0;\n }\n\n return { top, left };\n};\n\nexport const getTransformProps = (x, y) => ({\n transform: `translate(${x}px, ${y}px)`,\n});\n\nexport const listWithChildren = (list, childrenProp) =>\n list.map((item) => ({\n ...item,\n [childrenProp]: item[childrenProp]\n ? listWithChildren(item[childrenProp], childrenProp)\n : [],\n }));\n\nexport const getAllNonEmptyNodesIds = (items, childrenProp) => {\n let childrenIds = [];\n const ids = items\n .filter((item) => item[childrenProp].length)\n .map((item) => {\n childrenIds = childrenIds.concat(\n getAllNonEmptyNodesIds(item[childrenProp], childrenProp),\n );\n return item.id;\n });\n\n return ids.concat(childrenIds);\n};\n\nexport const isInternetExplorer = () => {\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf('MSIE ');\n // If Internet Explorer, return version number\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv:11\\./)) {\n return true;\n }\n return false;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADChB,MAAM,aAAa,CAAC,QACzB,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM,GAAG;AACxC,MAAM,YAAY,CAAC,UAAU,OAAO,UAAU;AAC9C,MAAM,cAAc,CAAC,UAAU,OAAO,UAAU;AAChD,MAAM,aAAa,CAAC,UAAU,OAAO,UAAU;AAC/C,MAAM,WAAW,WAAS,OAAO,UAAU,YAAY,CAAC,MAAM;AAC9D,MAAM,WAAW,CAAC,QAAQ,WAAW,SAAS;AAC9C,MAAM,UAAU,CAAC,QAAQ,WAAW,SAAS;AAE7C,MAAM,UAAU,CAAC,QAAQ,aAAa;AAE3C,SAAO,QAAQ;AAEb,QAAI,OAAO,WAAW,OAAO,QAAQ;AAAW,aAAO;AACvD,QAAI,OAAO,qBAAqB,OAAO,kBAAkB;AACvD,aAAO;AAET,aAAS,OAAO;AAAA;AAElB,SAAO;AAAA;AAGF,MAAM,gBAAgB,CAAC,SAAS;AAErC,QAAM,MAAM,KAAK;AAEjB,QAAM,EAAE,MAAM,oBAAoB;AAGlC,QAAM,YACJ,OAAO,eAAe,gBAAgB,aAAa,KAAK;AAC1D,QAAM,aACJ,OAAO,eAAe,gBAAgB,cAAc,KAAK;AAG3D,QAAM,YAAY,gBAAgB,aAAa,KAAK,aAAa;AACjE,QAAM,aAAa,gBAAgB,cAAc,KAAK,cAAc;AAGpE,QAAM,MAAM,IAAI,MAAM,YAAY;AAClC,QAAM,OAAO,IAAI,OAAO,aAAa;AAErC,SAAO,EAAE,KAAK,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM;AAAA;AAG3C,MAAM,iBAAiB,CAAC,SAAS;AACtC,MAAI,MAAM;AACV,MAAI,OAAO;AAGX,SAAQ,OAAO,KAAK,YAAa;AAC/B,WAAO,KAAK,aAAa;AACzB,YAAQ,KAAK,cAAc;AAAA;AAG7B,SAAO,EAAE,KAAK;AAAA;AAGT,MAAM,oBAAoB,CAAC,GAAG,MAAO;AAAA,EAC1C,WAAW,aAAa,QAAQ;AAAA;AAG3B,MAAM,mBAAmB,CAAC,MAAM,iBACrC,KAAK,IAAI,CAAC,SAAU,iCACf,OADe;AAAA,GAEjB,eAAe,KAAK,gBACjB,iBAAiB,KAAK,eAAe,gBACrC;AAAA;AAGD,MAAM,yBAAyB,CAAC,OAAO,iBAAiB;AAC7D,MAAI,cAAc;AAClB,QAAM,MAAM,MACT,OAAO,CAAC,SAAS,KAAK,cAAc,QACpC,IAAI,CAAC,SAAS;AACb,kBAAc,YAAY,OACxB,uBAAuB,KAAK,eAAe;AAE7C,WAAO,KAAK;AAAA;AAGhB,SAAO,IAAI,OAAO;AAAA;AAGb,MAAM,qBAAqB,MAAM;AACtC,QAAM,KAAK,OAAO,UAAU;AAC5B,QAAM,OAAO,GAAG,QAAQ;AAExB,MAAI,OAAO,KAAK,CAAC,CAAC,UAAU,UAAU,MAAM,qBAAqB;AAC/D,WAAO;AAAA;AAET,SAAO;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|