@elliemae/ds-query-builder 3.37.0-rc.4 → 3.37.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/components/Nestable/Nestable.js +2 -2
- package/dist/cjs/components/Nestable/Nestable.js.map +2 -2
- package/dist/cjs/components/helpers/dependencies.js +3 -3
- package/dist/cjs/components/helpers/dependencies.js.map +2 -2
- package/dist/cjs/components/helpers/operators.js +71 -0
- package/dist/cjs/components/helpers/operators.js.map +7 -0
- package/dist/esm/components/Nestable/Nestable.js +1 -1
- package/dist/esm/components/Nestable/Nestable.js.map +1 -1
- package/dist/esm/components/helpers/dependencies.js +1 -1
- package/dist/esm/components/helpers/dependencies.js.map +2 -2
- package/dist/esm/components/helpers/operators.js +41 -0
- package/dist/esm/components/helpers/operators.js.map +7 -0
- package/dist/types/components/helpers/operators.d.ts +14 -0
- package/package.json +13 -14
|
@@ -37,10 +37,10 @@ var import_react = require("react");
|
|
|
37
37
|
var import_prop_types = __toESM(require("prop-types"));
|
|
38
38
|
var import_classnames = __toESM(require("classnames"));
|
|
39
39
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
40
|
-
var
|
|
40
|
+
var import_lodash = require("lodash");
|
|
41
41
|
var import_actions = require("./actions/index.js");
|
|
42
42
|
var import_NestableItem = __toESM(require("./NestableItem.js"));
|
|
43
|
-
const shallowCompare = (instance, nextProps, nextState) => !(0,
|
|
43
|
+
const shallowCompare = (instance, nextProps, nextState) => !(0, import_lodash.isEqualWith)(instance.props, nextProps) || !(0, import_lodash.isEqualWith)(instance.state, nextState);
|
|
44
44
|
class Nestable extends import_react.Component {
|
|
45
45
|
constructor(props) {
|
|
46
46
|
super(props);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/Nestable/Nestable.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable no-bitwise, max-lines */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { listWithChildren } from '@elliemae/ds-shared';\nimport { isEqualWith } from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoNb;AAnNV,mBAAiC;AACjC,wBAAsB;AACtB,wBAAe;AACf,uBAAiC;AACjC,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-bitwise, max-lines */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { listWithChildren } from '@elliemae/ds-shared';\nimport { isEqualWith } from 'lodash';\nimport {\n tryIncreaseDepth,\n tryDecreaseDepth,\n moveItem,\n getItemOptions,\n getRealNextPath,\n getPathById,\n getItemByPath,\n getItemDepth,\n getSplicePath,\n onDragStart,\n onDragEnd,\n onMouseMove,\n onMouseEnter,\n onToggleCollapse,\n onKeyDown,\n} from './actions/index.js';\nimport NestableItem from './NestableItem.js';\n\nconst shallowCompare = (instance, nextProps, nextState) =>\n !isEqualWith(instance.props, nextProps) || !isEqualWith(instance.state, nextState);\n\nclass Nestable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: [],\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n collapsedGroups: [],\n stopTrackingMouse: this.stopTrackMouse.bind(this),\n oldProps: props,\n };\n\n this.el = null;\n this.elCopyStyles = null;\n this.mouse = {\n last: { x: 0 },\n shift: { x: 0 },\n };\n\n this.dragApply = this.dragApply.bind(this);\n this.renderDragLayer = this.renderDragLayer.bind(this);\n }\n\n componentDidMount() {\n const { childrenProp } = this.props;\n let { items } = this.props;\n // make sure every item has property 'children'\n items = listWithChildren(items, childrenProp);\n this.setState({ items });\n }\n\n componentWillUnmount() {\n this.stopTrackMouse();\n }\n\n static getDerivedStateFromProps(props, state) {\n const { items: itemsNew, childrenProp } = props;\n const { stopTrackingMouse, oldProps } = state;\n\n if (shallowCompare({ props: oldProps, state: {} }, props, {})) {\n stopTrackingMouse();\n const extra = {};\n if (oldProps.collapsed !== props.collapsed) {\n extra.collapsedGroups = [];\n }\n return {\n items: listWithChildren(itemsNew, childrenProp),\n dragItem: null,\n isDirty: false,\n oldProps: props,\n ...extra,\n };\n }\n return null;\n }\n\n onDragStart = (e, item) => {\n onDragStart.call(this, e, item);\n };\n\n onDragEnd = (e, isCancel) => onDragEnd.call(this, e, isCancel);\n\n onMouseMove = (e) => onMouseMove.call(this, e);\n\n onMouseEnter = (e, item) => onMouseEnter.call(this, e, item);\n\n onToggleCollapse = (item, isGetter) => onToggleCollapse.call(this, item, isGetter);\n\n onKeyDown = (e) => onKeyDown.call(this, e);\n\n getDefaultItems = () => {\n const { items } = this.state;\n return items;\n };\n\n getPathById(id, items = this.getDefaultItems()) {\n return getPathById.call(this, id, items);\n }\n\n getItemByPath(path, items = this.getDefaultItems()) {\n return getItemByPath.call(this, path, items);\n }\n\n getItemDepth = (item) => getItemDepth.call(this, item);\n\n getSplicePath(path, options = {}) {\n return getSplicePath.call(this, path, options);\n }\n\n getRealNextPath(prevPath, nextPath) {\n return getRealNextPath.call(this, prevPath, nextPath);\n }\n\n getItemOptions() {\n return getItemOptions.call(this);\n }\n\n startTrackMouse = () => {\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onDragEnd);\n document.addEventListener('keydown', this.onKeyDown);\n };\n\n stopTrackMouse = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n document.removeEventListener('keydown', this.onKeyDown);\n this.elCopyStyles = null;\n };\n\n isCollapsed = (item) => {\n const { collapsed } = this.props;\n const { collapsedGroups } = this.state;\n return !!((collapsedGroups.indexOf(item.id) > -1) ^ collapsed);\n };\n\n checkFilterChildren = (items) =>\n items.find((current) => {\n const {\n element: { type },\n children,\n } = current;\n if (type === 'filter' && children.length > 0) return true;\n return this.checkFilterChildren(children);\n });\n\n dragRevert = () => {\n const { itemsOld } = this.state;\n\n this.setState({\n items: itemsOld,\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n };\n\n dragApply() {\n const { onChange } = this.props;\n const { items, isDirty, dragItem } = this.state;\n\n this.setState({\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n\n if (onChange && isDirty) onChange(items, dragItem);\n }\n\n tryIncreaseDepth(dragItem) {\n tryIncreaseDepth.call(this, dragItem);\n }\n\n tryDecreaseDepth(dragItem) {\n tryDecreaseDepth.call(this, dragItem);\n }\n\n moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {\n moveItem.call(this, { dragItem, pathFrom, pathTo }, extraProps);\n }\n\n renderDragLayer() {\n const { group } = this.props;\n const { dragItem } = this.state;\n const el = document.querySelector(`.nestable-${group} .nestable-item-${dragItem.id}`);\n\n let listStyles = {};\n if (el) {\n listStyles.width = el.clientWidth;\n }\n if (this.elCopyStyles) {\n listStyles = {\n ...listStyles,\n ...this.elCopyStyles,\n };\n }\n\n const options = this.getItemOptions();\n\n return (\n <div className=\"nestable-drag-layer\">\n <ol className=\"nestable-list\" style={listStyles}>\n <NestableItem isCopy item={dragItem} options={options} />\n </ol>\n </div>\n );\n }\n\n render() {\n const { items, dragItem } = this.state;\n const { group, isAndItem, isOrItem, isDraggableItem, setDraggableItems, singleRow } = this.props;\n const options = this.getItemOptions();\n const childLength = items.length;\n let childClass = 'single';\n if (childLength === 0) childClass = 'empty';\n else if (childLength > 1) childClass = 'multiple';\n\n return (\n <div\n className={cn('nestable', `nestable-${group}`, {\n 'is-drag-active': dragItem,\n })}\n >\n <ol className={`nestable-list nestable-group nestable-child-count-${childClass}`}>\n {items.map((item, i) => (\n <NestableItem\n key={item.id}\n index={i}\n isAndItem={isAndItem}\n isDraggableItem={isDraggableItem}\n isOrItem={isOrItem}\n item={item}\n options={options}\n setDraggableItems={setDraggableItems}\n singleRow={singleRow}\n />\n ))}\n </ol>\n {dragItem && this.renderDragLayer()}\n </div>\n );\n }\n}\n\nNestable.defaultProps = {\n items: [],\n collapsed: false,\n group: Math.random().toString(36).slice(2),\n childrenProp: 'children',\n onChange: () => {},\n};\n\nNestable.propTypes = {\n childrenProp: PropTypes.string,\n group: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n collapsed: PropTypes.bool,\n onChange: PropTypes.func,\n isAndItem: PropTypes.bool,\n isOrItem: PropTypes.bool,\n isDraggableItem: PropTypes.bool,\n setDraggableItems: PropTypes.func,\n singleRow: PropTypes.bool,\n};\n\nexport default Nestable;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["NestableItem", "cn", "PropTypes"]
|
|
7
7
|
}
|
|
@@ -33,7 +33,7 @@ __export(dependencies_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(dependencies_exports);
|
|
34
34
|
var React = __toESM(require("react"));
|
|
35
35
|
var import_lodash = require("lodash");
|
|
36
|
-
var
|
|
36
|
+
var operators = __toESM(require("./operators.js"));
|
|
37
37
|
var import_types = require("./types.js");
|
|
38
38
|
const resolveCondition = (condition, state, resolveBy = import_types.QB_GROUP_CONDITION_TYPES.AND) => {
|
|
39
39
|
if (condition.length === 0 || !condition) return true;
|
|
@@ -41,12 +41,12 @@ const resolveCondition = (condition, state, resolveBy = import_types.QB_GROUP_CO
|
|
|
41
41
|
return condition.every((rule) => {
|
|
42
42
|
const { source: sourceRule, operator: operatorRule, value: valueRule } = rule;
|
|
43
43
|
if (typeof operatorRule === "function") return operatorRule((0, import_lodash.get)(state, sourceRule), valueRule);
|
|
44
|
-
return
|
|
44
|
+
return operators[operatorRule]((0, import_lodash.get)(state, sourceRule), valueRule);
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
return condition.some((rule) => {
|
|
48
48
|
const { source: sourceRule, operator: operatorRule, value: valueRule } = rule;
|
|
49
|
-
return
|
|
49
|
+
return operators[operatorRule](state[sourceRule], valueRule);
|
|
50
50
|
});
|
|
51
51
|
};
|
|
52
52
|
const resolveDependencies = (state, fields) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/helpers/dependencies.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { get } from 'lodash';\nimport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,oBAAoB;AACpB,
|
|
4
|
+
"sourcesContent": ["import { get } from 'lodash';\nimport * as operators from './operators.js';\nimport { QB_GROUP_CONDITION_TYPES } from './types.js';\n\nconst resolveCondition = (condition, state, resolveBy = QB_GROUP_CONDITION_TYPES.AND) => {\n if (condition.length === 0 || !condition) return true;\n // resolve by AND: all the conditions must be true\n if (resolveBy) {\n return condition.every((rule) => {\n const { source: sourceRule, operator: operatorRule, value: valueRule } = rule;\n if (typeof operatorRule === 'function') return operatorRule(get(state, sourceRule), valueRule);\n return operators[operatorRule](get(state, sourceRule), valueRule);\n });\n }\n // resolve by OR: at least one condition must be true\n return condition.some((rule) => {\n const { source: sourceRule, operator: operatorRule, value: valueRule } = rule;\n return operators[operatorRule](state[sourceRule], valueRule);\n });\n};\n\nexport const resolveDependencies = (state, fields) => {\n const fieldsToRender = fields.reduce(\n (result, { target, component, condition, resolveBy, validation, handleWidth }) => {\n if (resolveCondition(condition, state, resolveBy)) result.push({ target, component, validation, handleWidth });\n return result;\n },\n [],\n );\n return fieldsToRender;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,oBAAoB;AACpB,gBAA2B;AAC3B,mBAAyC;AAEzC,MAAM,mBAAmB,CAAC,WAAW,OAAO,YAAY,sCAAyB,QAAQ;AACvF,MAAI,UAAU,WAAW,KAAK,CAAC,UAAW,QAAO;AAEjD,MAAI,WAAW;AACb,WAAO,UAAU,MAAM,CAAC,SAAS;AAC/B,YAAM,EAAE,QAAQ,YAAY,UAAU,cAAc,OAAO,UAAU,IAAI;AACzE,UAAI,OAAO,iBAAiB,WAAY,QAAO,iBAAa,mBAAI,OAAO,UAAU,GAAG,SAAS;AAC7F,aAAO,UAAU,YAAY,MAAE,mBAAI,OAAO,UAAU,GAAG,SAAS;AAAA,IAClE,CAAC;AAAA,EACH;AAEA,SAAO,UAAU,KAAK,CAAC,SAAS;AAC9B,UAAM,EAAE,QAAQ,YAAY,UAAU,cAAc,OAAO,UAAU,IAAI;AACzE,WAAO,UAAU,YAAY,EAAE,MAAM,UAAU,GAAG,SAAS;AAAA,EAC7D,CAAC;AACH;AAEO,MAAM,sBAAsB,CAAC,OAAO,WAAW;AACpD,QAAM,iBAAiB,OAAO;AAAA,IAC5B,CAAC,QAAQ,EAAE,QAAQ,WAAW,WAAW,WAAW,YAAY,YAAY,MAAM;AAChF,UAAI,iBAAiB,WAAW,OAAO,SAAS,EAAG,QAAO,KAAK,EAAE,QAAQ,WAAW,YAAY,YAAY,CAAC;AAC7G,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AACA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var operators_exports = {};
|
|
30
|
+
__export(operators_exports, {
|
|
31
|
+
checkEmpty: () => checkEmpty,
|
|
32
|
+
checkNotEmpty: () => checkNotEmpty,
|
|
33
|
+
contains: () => contains,
|
|
34
|
+
equal: () => equal,
|
|
35
|
+
greaterThan: () => greaterThan,
|
|
36
|
+
greaterThanOrEquals: () => greaterThanOrEquals,
|
|
37
|
+
isIn: () => isIn,
|
|
38
|
+
isNotIn: () => isNotIn,
|
|
39
|
+
isNotNull: () => isNotNull,
|
|
40
|
+
isNull: () => isNull,
|
|
41
|
+
lessThanOrEquals: () => lessThanOrEquals,
|
|
42
|
+
notEqual: () => notEqual,
|
|
43
|
+
startsWith: () => startsWith,
|
|
44
|
+
validDate: () => validDate
|
|
45
|
+
});
|
|
46
|
+
module.exports = __toCommonJS(operators_exports);
|
|
47
|
+
var React = __toESM(require("react"));
|
|
48
|
+
var import_lodash = require("lodash");
|
|
49
|
+
const checkNotEmpty = (value) => (
|
|
50
|
+
// eslint-disable-next-line eqeqeq
|
|
51
|
+
value === "" || value === void 0 || value === null || (0, import_lodash.isEmpty)(value)
|
|
52
|
+
);
|
|
53
|
+
const checkEmpty = (value) => !(0, import_lodash.isEmpty)(value);
|
|
54
|
+
const greaterThan = (value, comparator) => value > comparator;
|
|
55
|
+
const validDate = (value) => {
|
|
56
|
+
const dateValidationRegex = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
|
|
57
|
+
if (!dateValidationRegex.test(value)) return false;
|
|
58
|
+
const [m, d, y] = value.split("/").map((n) => Number(n));
|
|
59
|
+
return m === Number(new Date(y, m - 1, d).getMonth()) + 1 && d === Number(new Date(y, m - 1, d).getDate());
|
|
60
|
+
};
|
|
61
|
+
const equal = (a, b) => a === b;
|
|
62
|
+
const notEqual = (a, b) => !equal(a, b);
|
|
63
|
+
const isNull = (a) => checkNotEmpty(a);
|
|
64
|
+
const isNotNull = (a) => !isNull(a);
|
|
65
|
+
const isIn = (a, b) => b.indexOf(a) > -1;
|
|
66
|
+
const isNotIn = (a, b) => !isIn(a, b);
|
|
67
|
+
const greaterThanOrEquals = (value, comparator) => value >= comparator;
|
|
68
|
+
const lessThanOrEquals = (value, comparator) => value <= comparator;
|
|
69
|
+
const startsWith = (value, comparator) => String(value).startsWith(comparator);
|
|
70
|
+
const contains = (value, comparator) => String(value).includes(comparator);
|
|
71
|
+
//# sourceMappingURL=operators.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/helpers/operators.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { isEmpty } from 'lodash';\n\n// Check if the value is empty\nexport const checkNotEmpty = (value: unknown) =>\n // eslint-disable-next-line eqeqeq\n value === '' || value === undefined || value === null || isEmpty(value);\n\n// Check if the value is not empty\nexport const checkEmpty = (value: unknown) => !isEmpty(value);\n\nexport const greaterThan = (value: number, comparator: number) => value > comparator;\n\n// Check if a valid date with format MM/DD/YYYY\nexport const validDate = (value: string) => {\n const dateValidationRegex = /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/;\n if (!dateValidationRegex.test(value)) return false;\n const [m, d, y] = value.split('/').map((n) => Number(n));\n return m === Number(new Date(y, m - 1, d).getMonth()) + 1 && d === Number(new Date(y, m - 1, d).getDate());\n};\n\nexport const equal = (a: unknown, b: unknown) => a === b;\n\nexport const notEqual = (a: unknown, b: unknown) => !equal(a, b);\n\nexport const isNull = (a: unknown) => checkNotEmpty(a);\n\nexport const isNotNull = (a: unknown) => !isNull(a);\n\nexport const isIn = <T>(a: T, b: T[]) => b.indexOf(a) > -1;\n\nexport const isNotIn = <T>(a: T, b: T[]) => !isIn(a, b);\n\nexport const greaterThanOrEquals = (value: number, comparator: number) => value >= comparator;\nexport const lessThanOrEquals = (value: number, comparator: number) => value <= comparator;\nexport const startsWith = (value: unknown, comparator: string) => String(value).startsWith(comparator);\nexport const contains = (value: unknown, comparator: string) => String(value).includes(comparator);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,oBAAwB;AAGjB,MAAM,gBAAgB,CAAC;AAAA;AAAA,EAE5B,UAAU,MAAM,UAAU,UAAa,UAAU,YAAQ,uBAAQ,KAAK;AAAA;AAGjE,MAAM,aAAa,CAAC,UAAmB,KAAC,uBAAQ,KAAK;AAErD,MAAM,cAAc,CAAC,OAAe,eAAuB,QAAQ;AAGnE,MAAM,YAAY,CAAC,UAAkB;AAC1C,QAAM,sBAAsB;AAC5B,MAAI,CAAC,oBAAoB,KAAK,KAAK,EAAG,QAAO;AAC7C,QAAM,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;AACvD,SAAO,MAAM,OAAO,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,KAAK,MAAM,OAAO,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC;AAC3G;AAEO,MAAM,QAAQ,CAAC,GAAY,MAAe,MAAM;AAEhD,MAAM,WAAW,CAAC,GAAY,MAAe,CAAC,MAAM,GAAG,CAAC;AAExD,MAAM,SAAS,CAAC,MAAe,cAAc,CAAC;AAE9C,MAAM,YAAY,CAAC,MAAe,CAAC,OAAO,CAAC;AAE3C,MAAM,OAAO,CAAI,GAAM,MAAW,EAAE,QAAQ,CAAC,IAAI;AAEjD,MAAM,UAAU,CAAI,GAAM,MAAW,CAAC,KAAK,GAAG,CAAC;AAE/C,MAAM,sBAAsB,CAAC,OAAe,eAAuB,SAAS;AAC5E,MAAM,mBAAmB,CAAC,OAAe,eAAuB,SAAS;AACzE,MAAM,aAAa,CAAC,OAAgB,eAAuB,OAAO,KAAK,EAAE,WAAW,UAAU;AAC9F,MAAM,WAAW,CAAC,OAAgB,eAAuB,OAAO,KAAK,EAAE,SAAS,UAAU;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -4,7 +4,7 @@ import { Component } from "react";
|
|
|
4
4
|
import PropTypes from "prop-types";
|
|
5
5
|
import cn from "classnames";
|
|
6
6
|
import { listWithChildren } from "@elliemae/ds-shared";
|
|
7
|
-
import { isEqualWith } from "
|
|
7
|
+
import { isEqualWith } from "lodash";
|
|
8
8
|
import {
|
|
9
9
|
tryIncreaseDepth,
|
|
10
10
|
tryDecreaseDepth,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/Nestable/Nestable.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-bitwise, max-lines */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { listWithChildren } from '@elliemae/ds-shared';\nimport { isEqualWith } from '
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-bitwise, max-lines */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { listWithChildren } from '@elliemae/ds-shared';\nimport { isEqualWith } from 'lodash';\nimport {\n tryIncreaseDepth,\n tryDecreaseDepth,\n moveItem,\n getItemOptions,\n getRealNextPath,\n getPathById,\n getItemByPath,\n getItemDepth,\n getSplicePath,\n onDragStart,\n onDragEnd,\n onMouseMove,\n onMouseEnter,\n onToggleCollapse,\n onKeyDown,\n} from './actions/index.js';\nimport NestableItem from './NestableItem.js';\n\nconst shallowCompare = (instance, nextProps, nextState) =>\n !isEqualWith(instance.props, nextProps) || !isEqualWith(instance.state, nextState);\n\nclass Nestable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: [],\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n collapsedGroups: [],\n stopTrackingMouse: this.stopTrackMouse.bind(this),\n oldProps: props,\n };\n\n this.el = null;\n this.elCopyStyles = null;\n this.mouse = {\n last: { x: 0 },\n shift: { x: 0 },\n };\n\n this.dragApply = this.dragApply.bind(this);\n this.renderDragLayer = this.renderDragLayer.bind(this);\n }\n\n componentDidMount() {\n const { childrenProp } = this.props;\n let { items } = this.props;\n // make sure every item has property 'children'\n items = listWithChildren(items, childrenProp);\n this.setState({ items });\n }\n\n componentWillUnmount() {\n this.stopTrackMouse();\n }\n\n static getDerivedStateFromProps(props, state) {\n const { items: itemsNew, childrenProp } = props;\n const { stopTrackingMouse, oldProps } = state;\n\n if (shallowCompare({ props: oldProps, state: {} }, props, {})) {\n stopTrackingMouse();\n const extra = {};\n if (oldProps.collapsed !== props.collapsed) {\n extra.collapsedGroups = [];\n }\n return {\n items: listWithChildren(itemsNew, childrenProp),\n dragItem: null,\n isDirty: false,\n oldProps: props,\n ...extra,\n };\n }\n return null;\n }\n\n onDragStart = (e, item) => {\n onDragStart.call(this, e, item);\n };\n\n onDragEnd = (e, isCancel) => onDragEnd.call(this, e, isCancel);\n\n onMouseMove = (e) => onMouseMove.call(this, e);\n\n onMouseEnter = (e, item) => onMouseEnter.call(this, e, item);\n\n onToggleCollapse = (item, isGetter) => onToggleCollapse.call(this, item, isGetter);\n\n onKeyDown = (e) => onKeyDown.call(this, e);\n\n getDefaultItems = () => {\n const { items } = this.state;\n return items;\n };\n\n getPathById(id, items = this.getDefaultItems()) {\n return getPathById.call(this, id, items);\n }\n\n getItemByPath(path, items = this.getDefaultItems()) {\n return getItemByPath.call(this, path, items);\n }\n\n getItemDepth = (item) => getItemDepth.call(this, item);\n\n getSplicePath(path, options = {}) {\n return getSplicePath.call(this, path, options);\n }\n\n getRealNextPath(prevPath, nextPath) {\n return getRealNextPath.call(this, prevPath, nextPath);\n }\n\n getItemOptions() {\n return getItemOptions.call(this);\n }\n\n startTrackMouse = () => {\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onDragEnd);\n document.addEventListener('keydown', this.onKeyDown);\n };\n\n stopTrackMouse = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n document.removeEventListener('keydown', this.onKeyDown);\n this.elCopyStyles = null;\n };\n\n isCollapsed = (item) => {\n const { collapsed } = this.props;\n const { collapsedGroups } = this.state;\n return !!((collapsedGroups.indexOf(item.id) > -1) ^ collapsed);\n };\n\n checkFilterChildren = (items) =>\n items.find((current) => {\n const {\n element: { type },\n children,\n } = current;\n if (type === 'filter' && children.length > 0) return true;\n return this.checkFilterChildren(children);\n });\n\n dragRevert = () => {\n const { itemsOld } = this.state;\n\n this.setState({\n items: itemsOld,\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n };\n\n dragApply() {\n const { onChange } = this.props;\n const { items, isDirty, dragItem } = this.state;\n\n this.setState({\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n\n if (onChange && isDirty) onChange(items, dragItem);\n }\n\n tryIncreaseDepth(dragItem) {\n tryIncreaseDepth.call(this, dragItem);\n }\n\n tryDecreaseDepth(dragItem) {\n tryDecreaseDepth.call(this, dragItem);\n }\n\n moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {\n moveItem.call(this, { dragItem, pathFrom, pathTo }, extraProps);\n }\n\n renderDragLayer() {\n const { group } = this.props;\n const { dragItem } = this.state;\n const el = document.querySelector(`.nestable-${group} .nestable-item-${dragItem.id}`);\n\n let listStyles = {};\n if (el) {\n listStyles.width = el.clientWidth;\n }\n if (this.elCopyStyles) {\n listStyles = {\n ...listStyles,\n ...this.elCopyStyles,\n };\n }\n\n const options = this.getItemOptions();\n\n return (\n <div className=\"nestable-drag-layer\">\n <ol className=\"nestable-list\" style={listStyles}>\n <NestableItem isCopy item={dragItem} options={options} />\n </ol>\n </div>\n );\n }\n\n render() {\n const { items, dragItem } = this.state;\n const { group, isAndItem, isOrItem, isDraggableItem, setDraggableItems, singleRow } = this.props;\n const options = this.getItemOptions();\n const childLength = items.length;\n let childClass = 'single';\n if (childLength === 0) childClass = 'empty';\n else if (childLength > 1) childClass = 'multiple';\n\n return (\n <div\n className={cn('nestable', `nestable-${group}`, {\n 'is-drag-active': dragItem,\n })}\n >\n <ol className={`nestable-list nestable-group nestable-child-count-${childClass}`}>\n {items.map((item, i) => (\n <NestableItem\n key={item.id}\n index={i}\n isAndItem={isAndItem}\n isDraggableItem={isDraggableItem}\n isOrItem={isOrItem}\n item={item}\n options={options}\n setDraggableItems={setDraggableItems}\n singleRow={singleRow}\n />\n ))}\n </ol>\n {dragItem && this.renderDragLayer()}\n </div>\n );\n }\n}\n\nNestable.defaultProps = {\n items: [],\n collapsed: false,\n group: Math.random().toString(36).slice(2),\n childrenProp: 'children',\n onChange: () => {},\n};\n\nNestable.propTypes = {\n childrenProp: PropTypes.string,\n group: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n collapsed: PropTypes.bool,\n onChange: PropTypes.func,\n isAndItem: PropTypes.bool,\n isOrItem: PropTypes.bool,\n isDraggableItem: PropTypes.bool,\n setDraggableItems: PropTypes.func,\n singleRow: PropTypes.bool,\n};\n\nexport default Nestable;\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { get } from "lodash";
|
|
3
|
-
import
|
|
3
|
+
import * as operators from "./operators.js";
|
|
4
4
|
import { QB_GROUP_CONDITION_TYPES } from "./types.js";
|
|
5
5
|
const resolveCondition = (condition, state, resolveBy = QB_GROUP_CONDITION_TYPES.AND) => {
|
|
6
6
|
if (condition.length === 0 || !condition) return true;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/helpers/dependencies.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { get } from 'lodash';\nimport
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,WAAW;AACpB,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { get } from 'lodash';\nimport * as operators from './operators.js';\nimport { QB_GROUP_CONDITION_TYPES } from './types.js';\n\nconst resolveCondition = (condition, state, resolveBy = QB_GROUP_CONDITION_TYPES.AND) => {\n if (condition.length === 0 || !condition) return true;\n // resolve by AND: all the conditions must be true\n if (resolveBy) {\n return condition.every((rule) => {\n const { source: sourceRule, operator: operatorRule, value: valueRule } = rule;\n if (typeof operatorRule === 'function') return operatorRule(get(state, sourceRule), valueRule);\n return operators[operatorRule](get(state, sourceRule), valueRule);\n });\n }\n // resolve by OR: at least one condition must be true\n return condition.some((rule) => {\n const { source: sourceRule, operator: operatorRule, value: valueRule } = rule;\n return operators[operatorRule](state[sourceRule], valueRule);\n });\n};\n\nexport const resolveDependencies = (state, fields) => {\n const fieldsToRender = fields.reduce(\n (result, { target, component, condition, resolveBy, validation, handleWidth }) => {\n if (resolveCondition(condition, state, resolveBy)) result.push({ target, component, validation, handleWidth });\n return result;\n },\n [],\n );\n return fieldsToRender;\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,WAAW;AACpB,YAAY,eAAe;AAC3B,SAAS,gCAAgC;AAEzC,MAAM,mBAAmB,CAAC,WAAW,OAAO,YAAY,yBAAyB,QAAQ;AACvF,MAAI,UAAU,WAAW,KAAK,CAAC,UAAW,QAAO;AAEjD,MAAI,WAAW;AACb,WAAO,UAAU,MAAM,CAAC,SAAS;AAC/B,YAAM,EAAE,QAAQ,YAAY,UAAU,cAAc,OAAO,UAAU,IAAI;AACzE,UAAI,OAAO,iBAAiB,WAAY,QAAO,aAAa,IAAI,OAAO,UAAU,GAAG,SAAS;AAC7F,aAAO,UAAU,YAAY,EAAE,IAAI,OAAO,UAAU,GAAG,SAAS;AAAA,IAClE,CAAC;AAAA,EACH;AAEA,SAAO,UAAU,KAAK,CAAC,SAAS;AAC9B,UAAM,EAAE,QAAQ,YAAY,UAAU,cAAc,OAAO,UAAU,IAAI;AACzE,WAAO,UAAU,YAAY,EAAE,MAAM,UAAU,GAAG,SAAS;AAAA,EAC7D,CAAC;AACH;AAEO,MAAM,sBAAsB,CAAC,OAAO,WAAW;AACpD,QAAM,iBAAiB,OAAO;AAAA,IAC5B,CAAC,QAAQ,EAAE,QAAQ,WAAW,WAAW,WAAW,YAAY,YAAY,MAAM;AAChF,UAAI,iBAAiB,WAAW,OAAO,SAAS,EAAG,QAAO,KAAK,EAAE,QAAQ,WAAW,YAAY,YAAY,CAAC;AAC7G,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AACA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { isEmpty } from "lodash";
|
|
3
|
+
const checkNotEmpty = (value) => (
|
|
4
|
+
// eslint-disable-next-line eqeqeq
|
|
5
|
+
value === "" || value === void 0 || value === null || isEmpty(value)
|
|
6
|
+
);
|
|
7
|
+
const checkEmpty = (value) => !isEmpty(value);
|
|
8
|
+
const greaterThan = (value, comparator) => value > comparator;
|
|
9
|
+
const validDate = (value) => {
|
|
10
|
+
const dateValidationRegex = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
|
|
11
|
+
if (!dateValidationRegex.test(value)) return false;
|
|
12
|
+
const [m, d, y] = value.split("/").map((n) => Number(n));
|
|
13
|
+
return m === Number(new Date(y, m - 1, d).getMonth()) + 1 && d === Number(new Date(y, m - 1, d).getDate());
|
|
14
|
+
};
|
|
15
|
+
const equal = (a, b) => a === b;
|
|
16
|
+
const notEqual = (a, b) => !equal(a, b);
|
|
17
|
+
const isNull = (a) => checkNotEmpty(a);
|
|
18
|
+
const isNotNull = (a) => !isNull(a);
|
|
19
|
+
const isIn = (a, b) => b.indexOf(a) > -1;
|
|
20
|
+
const isNotIn = (a, b) => !isIn(a, b);
|
|
21
|
+
const greaterThanOrEquals = (value, comparator) => value >= comparator;
|
|
22
|
+
const lessThanOrEquals = (value, comparator) => value <= comparator;
|
|
23
|
+
const startsWith = (value, comparator) => String(value).startsWith(comparator);
|
|
24
|
+
const contains = (value, comparator) => String(value).includes(comparator);
|
|
25
|
+
export {
|
|
26
|
+
checkEmpty,
|
|
27
|
+
checkNotEmpty,
|
|
28
|
+
contains,
|
|
29
|
+
equal,
|
|
30
|
+
greaterThan,
|
|
31
|
+
greaterThanOrEquals,
|
|
32
|
+
isIn,
|
|
33
|
+
isNotIn,
|
|
34
|
+
isNotNull,
|
|
35
|
+
isNull,
|
|
36
|
+
lessThanOrEquals,
|
|
37
|
+
notEqual,
|
|
38
|
+
startsWith,
|
|
39
|
+
validDate
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=operators.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/helpers/operators.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { isEmpty } from 'lodash';\n\n// Check if the value is empty\nexport const checkNotEmpty = (value: unknown) =>\n // eslint-disable-next-line eqeqeq\n value === '' || value === undefined || value === null || isEmpty(value);\n\n// Check if the value is not empty\nexport const checkEmpty = (value: unknown) => !isEmpty(value);\n\nexport const greaterThan = (value: number, comparator: number) => value > comparator;\n\n// Check if a valid date with format MM/DD/YYYY\nexport const validDate = (value: string) => {\n const dateValidationRegex = /^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/;\n if (!dateValidationRegex.test(value)) return false;\n const [m, d, y] = value.split('/').map((n) => Number(n));\n return m === Number(new Date(y, m - 1, d).getMonth()) + 1 && d === Number(new Date(y, m - 1, d).getDate());\n};\n\nexport const equal = (a: unknown, b: unknown) => a === b;\n\nexport const notEqual = (a: unknown, b: unknown) => !equal(a, b);\n\nexport const isNull = (a: unknown) => checkNotEmpty(a);\n\nexport const isNotNull = (a: unknown) => !isNull(a);\n\nexport const isIn = <T>(a: T, b: T[]) => b.indexOf(a) > -1;\n\nexport const isNotIn = <T>(a: T, b: T[]) => !isIn(a, b);\n\nexport const greaterThanOrEquals = (value: number, comparator: number) => value >= comparator;\nexport const lessThanOrEquals = (value: number, comparator: number) => value <= comparator;\nexport const startsWith = (value: unknown, comparator: string) => String(value).startsWith(comparator);\nexport const contains = (value: unknown, comparator: string) => String(value).includes(comparator);\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,eAAe;AAGjB,MAAM,gBAAgB,CAAC;AAAA;AAAA,EAE5B,UAAU,MAAM,UAAU,UAAa,UAAU,QAAQ,QAAQ,KAAK;AAAA;AAGjE,MAAM,aAAa,CAAC,UAAmB,CAAC,QAAQ,KAAK;AAErD,MAAM,cAAc,CAAC,OAAe,eAAuB,QAAQ;AAGnE,MAAM,YAAY,CAAC,UAAkB;AAC1C,QAAM,sBAAsB;AAC5B,MAAI,CAAC,oBAAoB,KAAK,KAAK,EAAG,QAAO;AAC7C,QAAM,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;AACvD,SAAO,MAAM,OAAO,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,KAAK,MAAM,OAAO,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,QAAQ,CAAC;AAC3G;AAEO,MAAM,QAAQ,CAAC,GAAY,MAAe,MAAM;AAEhD,MAAM,WAAW,CAAC,GAAY,MAAe,CAAC,MAAM,GAAG,CAAC;AAExD,MAAM,SAAS,CAAC,MAAe,cAAc,CAAC;AAE9C,MAAM,YAAY,CAAC,MAAe,CAAC,OAAO,CAAC;AAE3C,MAAM,OAAO,CAAI,GAAM,MAAW,EAAE,QAAQ,CAAC,IAAI;AAEjD,MAAM,UAAU,CAAI,GAAM,MAAW,CAAC,KAAK,GAAG,CAAC;AAE/C,MAAM,sBAAsB,CAAC,OAAe,eAAuB,SAAS;AAC5E,MAAM,mBAAmB,CAAC,OAAe,eAAuB,SAAS;AACzE,MAAM,aAAa,CAAC,OAAgB,eAAuB,OAAO,KAAK,EAAE,WAAW,UAAU;AAC9F,MAAM,WAAW,CAAC,OAAgB,eAAuB,OAAO,KAAK,EAAE,SAAS,UAAU;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const checkNotEmpty: (value: unknown) => boolean;
|
|
2
|
+
export declare const checkEmpty: (value: unknown) => boolean;
|
|
3
|
+
export declare const greaterThan: (value: number, comparator: number) => boolean;
|
|
4
|
+
export declare const validDate: (value: string) => boolean;
|
|
5
|
+
export declare const equal: (a: unknown, b: unknown) => boolean;
|
|
6
|
+
export declare const notEqual: (a: unknown, b: unknown) => boolean;
|
|
7
|
+
export declare const isNull: (a: unknown) => boolean;
|
|
8
|
+
export declare const isNotNull: (a: unknown) => boolean;
|
|
9
|
+
export declare const isIn: <T>(a: T, b: T[]) => boolean;
|
|
10
|
+
export declare const isNotIn: <T>(a: T, b: T[]) => boolean;
|
|
11
|
+
export declare const greaterThanOrEquals: (value: number, comparator: number) => boolean;
|
|
12
|
+
export declare const lessThanOrEquals: (value: number, comparator: number) => boolean;
|
|
13
|
+
export declare const startsWith: (value: unknown, comparator: string) => boolean;
|
|
14
|
+
export declare const contains: (value: unknown, comparator: string) => boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-query-builder",
|
|
3
|
-
"version": "3.37.0
|
|
3
|
+
"version": "3.37.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Query Builder",
|
|
6
6
|
"files": [
|
|
@@ -175,23 +175,22 @@
|
|
|
175
175
|
"classnames": "~2.3.2",
|
|
176
176
|
"prop-types": "~15.8.1",
|
|
177
177
|
"react-addons-update": "~15.6.3",
|
|
178
|
-
"@elliemae/ds-
|
|
179
|
-
"@elliemae/ds-
|
|
180
|
-
"@elliemae/ds-
|
|
181
|
-
"@elliemae/ds-
|
|
182
|
-
"@elliemae/ds-
|
|
183
|
-
"@elliemae/ds-
|
|
184
|
-
"@elliemae/ds-
|
|
185
|
-
"@elliemae/ds-
|
|
186
|
-
"@elliemae/ds-
|
|
187
|
-
"@elliemae/ds-
|
|
188
|
-
"@elliemae/ds-
|
|
189
|
-
"@elliemae/ds-shared": "3.37.0-rc.4"
|
|
178
|
+
"@elliemae/ds-accordion": "3.37.0",
|
|
179
|
+
"@elliemae/ds-classnames": "3.37.0",
|
|
180
|
+
"@elliemae/ds-button": "3.37.0",
|
|
181
|
+
"@elliemae/ds-form": "3.37.0",
|
|
182
|
+
"@elliemae/ds-icon": "3.37.0",
|
|
183
|
+
"@elliemae/ds-popper": "3.37.0",
|
|
184
|
+
"@elliemae/ds-icons": "3.37.0",
|
|
185
|
+
"@elliemae/ds-grid": "3.37.0",
|
|
186
|
+
"@elliemae/ds-shared": "3.37.0",
|
|
187
|
+
"@elliemae/ds-tooltip": "3.37.0",
|
|
188
|
+
"@elliemae/ds-props-helpers": "3.37.0"
|
|
190
189
|
},
|
|
191
190
|
"devDependencies": {
|
|
192
191
|
"@elliemae/pui-cli": "9.0.0-next.50",
|
|
193
192
|
"styled-components": "~5.3.9",
|
|
194
|
-
"@elliemae/ds-monorepo-devops": "3.37.0
|
|
193
|
+
"@elliemae/ds-monorepo-devops": "3.37.0"
|
|
195
194
|
},
|
|
196
195
|
"peerDependencies": {
|
|
197
196
|
"lodash": "^4.17.21",
|