@hitachivantara/uikit-react-lab 3.48.0 → 3.49.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/QueryBuilder/Rule/Rule.js +0 -2
- package/dist/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/QueryBuilder/RuleGroup/RuleGroup.js +6 -2
- package/dist/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/QueryBuilder/{types.ts → types.d.ts} +1 -1
- package/dist/Table/TableBody/TableBody.js +1 -3
- package/dist/Table/TableBody/TableBody.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Rule.js +0 -2
- package/dist/legacy/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/legacy/QueryBuilder/RuleGroup/RuleGroup.js +6 -2
- package/dist/legacy/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/legacy/QueryBuilder/{types.ts → types.d.ts} +1 -1
- package/dist/legacy/Table/TableBody/TableBody.js +2 -3
- package/dist/legacy/Table/TableBody/TableBody.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Rule.js +0 -2
- package/dist/modern/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/modern/QueryBuilder/RuleGroup/RuleGroup.js +6 -2
- package/dist/modern/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/modern/QueryBuilder/{types.ts → types.d.ts} +1 -1
- package/dist/modern/Table/TableBody/TableBody.js +2 -3
- package/dist/modern/Table/TableBody/TableBody.js.map +1 -1
- package/package.json +22 -28
|
@@ -101,7 +101,6 @@ var Rule = function Rule(_ref) {
|
|
|
101
101
|
xs: 2,
|
|
102
102
|
lg: 3
|
|
103
103
|
}, /*#__PURE__*/_react.default.createElement(_Operator.default, {
|
|
104
|
-
key: id + combinator + attribute + operator,
|
|
105
104
|
id: id,
|
|
106
105
|
combinator: combinator,
|
|
107
106
|
attribute: attribute,
|
|
@@ -110,7 +109,6 @@ var Rule = function Rule(_ref) {
|
|
|
110
109
|
item: true,
|
|
111
110
|
xs: true
|
|
112
111
|
}, shouldShowValueInput && /*#__PURE__*/_react.default.createElement(_Value.default, {
|
|
113
|
-
key: id + combinator + attribute + operator,
|
|
114
112
|
attribute: attribute,
|
|
115
113
|
id: id,
|
|
116
114
|
operator: operator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.js","names":["Rule","id","combinator","attribute","operator","value","disabled","isInvalid","classes","context","Context","askAction","attributes","operators","labels","availableOperators","attributeSpec","typeOperators","type","reduce","count","item","combinators","includes","shouldShowValueInput","DeleteIcon","rule","delete","tooltip","root","actionsContainer","ariaLabel","actions","dialog","propTypes","PropTypes","number","string","any","bool"],"sources":["../../../src/QueryBuilder/Rule/Rule.js"],"sourcesContent":["import React, { useMemo, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvGrid, HvButton, withTooltip } from \"@hitachivantara/uikit-react-core\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Attribute from \"./Attribute\";\nimport Operator from \"./Operator\";\nimport Value from \"./Value\";\nimport useStyles from \"./styles\";\n\nconst Rule = ({ id, combinator, attribute, operator, value, disabled, isInvalid }) => {\n const classes = useStyles();\n const context = useContext(Context);\n\n const { askAction, attributes, operators, labels } = context;\n\n const availableOperators = useMemo(() => {\n const attributeSpec = attribute != null ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) => count + (item.combinators.includes(combinator) ? 1 : 0),\n 0\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n const shouldShowValueInput = operator !== \"Empty\" && operator !== \"IsNotEmpty\";\n\n const DeleteIcon = withTooltip(() => <Delete />, labels.rule.delete.tooltip, \"bottom\");\n\n return (\n <HvGrid container className={classes.root} spacing={0} wrap=\"nowrap\">\n <HvGrid item xs={2} lg={3}>\n <Attribute attribute={attribute} id={id} disabled={disabled} isInvalid={isInvalid} />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={2} lg={3}>\n <Operator
|
|
1
|
+
{"version":3,"file":"Rule.js","names":["Rule","id","combinator","attribute","operator","value","disabled","isInvalid","classes","context","Context","askAction","attributes","operators","labels","availableOperators","attributeSpec","typeOperators","type","reduce","count","item","combinators","includes","shouldShowValueInput","DeleteIcon","rule","delete","tooltip","root","actionsContainer","ariaLabel","actions","dialog","propTypes","PropTypes","number","string","any","bool"],"sources":["../../../src/QueryBuilder/Rule/Rule.js"],"sourcesContent":["import React, { useMemo, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvGrid, HvButton, withTooltip } from \"@hitachivantara/uikit-react-core\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Attribute from \"./Attribute\";\nimport Operator from \"./Operator\";\nimport Value from \"./Value\";\nimport useStyles from \"./styles\";\n\nconst Rule = ({ id, combinator, attribute, operator, value, disabled, isInvalid }) => {\n const classes = useStyles();\n const context = useContext(Context);\n\n const { askAction, attributes, operators, labels } = context;\n\n const availableOperators = useMemo(() => {\n const attributeSpec = attribute != null ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) => count + (item.combinators.includes(combinator) ? 1 : 0),\n 0\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n const shouldShowValueInput = operator !== \"Empty\" && operator !== \"IsNotEmpty\";\n\n const DeleteIcon = withTooltip(() => <Delete />, labels.rule.delete.tooltip, \"bottom\");\n\n return (\n <HvGrid container className={classes.root} spacing={0} wrap=\"nowrap\">\n <HvGrid item xs={2} lg={3}>\n <Attribute attribute={attribute} id={id} disabled={disabled} isInvalid={isInvalid} />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={2} lg={3}>\n <Operator id={id} combinator={combinator} attribute={attribute} operator={operator} />\n </HvGrid>\n )}\n {attribute != null && (operator != null || availableOperators === 0) && (\n <HvGrid item xs>\n {shouldShowValueInput && (\n <Value attribute={attribute} id={id} operator={operator} value={value} />\n )}\n </HvGrid>\n )}\n <HvGrid item className={classes.actionsContainer}>\n <HvButton\n icon\n aria-label={labels.rule.delete.ariaLabel}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog: labels.rule.delete,\n });\n }}\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n );\n};\n\nRule.propTypes = {\n id: PropTypes.number,\n combinator: PropTypes.string,\n attribute: PropTypes.string,\n operator: PropTypes.string,\n value: PropTypes.any,\n disabled: PropTypes.bool,\n isInvalid: PropTypes.bool,\n};\n\nexport default Rule;\n"],"mappings":"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"}
|
|
@@ -133,9 +133,13 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
133
133
|
}, /*#__PURE__*/_react.default.createElement(DeleteIcon, null)))), (rules === null || rules === void 0 ? void 0 : rules.length) > 0 && /*#__PURE__*/_react.default.createElement("div", {
|
|
134
134
|
className: (0, _clsx.default)(classes.rulesContainer, level > 0 && classes.subRulesContainer, level === 0 && "topRulesContainer")
|
|
135
135
|
}, rules.map(function (rule, index) {
|
|
136
|
+
var _rule$id2;
|
|
137
|
+
|
|
136
138
|
if ("combinator" in rule) {
|
|
139
|
+
var _rule$id;
|
|
140
|
+
|
|
137
141
|
return /*#__PURE__*/_react.default.createElement(RuleGroup, (0, _extends2.default)({
|
|
138
|
-
key: rule.id
|
|
142
|
+
key: (_rule$id = rule.id) !== null && _rule$id !== void 0 ? _rule$id : index,
|
|
139
143
|
level: level + 1
|
|
140
144
|
}, rule, {
|
|
141
145
|
id: rule.id,
|
|
@@ -153,7 +157,7 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
153
157
|
return false;
|
|
154
158
|
});
|
|
155
159
|
return /*#__PURE__*/_react.default.createElement(_Rule.default, (0, _extends2.default)({
|
|
156
|
-
key: rule.id
|
|
160
|
+
key: (_rule$id2 = rule.id) !== null && _rule$id2 !== void 0 ? _rule$id2 : index
|
|
157
161
|
}, rule, {
|
|
158
162
|
isInvalid: isInvalid,
|
|
159
163
|
id: rule.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleGroup.js","names":["RuleGroup","level","id","combinator","rules","classes","context","Context","dispatchAction","askAction","maxDepth","combinators","labels","normalizedMaxDepth","actionButtons","type","query","addRule","label","group","addGroup","DeleteIcon","delete","tooltip","onClickCombinator","item","operand","root","topGroup","subGroup","topCombinator","map","combinatorButton","removeButton","topRemoveButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","rule","index","Math","random","isInvalid","some","r","i","attribute","empty","title","cursor","textDecoration","createCondition","spacer","createGroup","actionButtonContainer","topActionButtonContainer","propTypes","PropTypes","shape","string","number","array","styles","name"],"sources":["../../../src/QueryBuilder/RuleGroup/RuleGroup.js"],"sourcesContent":["import React, { useCallback, useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport {\n HvGrid,\n HvMultiButton,\n HvButton,\n HvEmptyState,\n HvTypography,\n withTooltip,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Rule from \"../Rule\";\nimport styles from \"./styles\";\n\nconst RuleGroup = ({ level = 0, id, combinator = \"and\", rules = [], classes }) => {\n const context = useContext(Context);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels } = context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n {level <= normalizedMaxDepth && (\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n )}\n </>\n );\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <div\n className={clsx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level !== 0,\n })}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton className={clsx(classes.combinator, classes.topCombinator)}>\n {combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <HvButton\n icon\n className={clsx(classes.removeButton, classes.topRemoveButton)}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={clsx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n topRulesContainer: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id || Math.random()}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (r.attribute === rule.attribute && r.id !== rule.id && i < index) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id || Math.random()}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={clsx(classes.actionButtonContainer, classes.topActionButtonContainer)}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nRuleGroup.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n id: PropTypes.number,\n level: PropTypes.number,\n combinator: PropTypes.string,\n rules: PropTypes.array,\n};\n\nexport default withStyles(styles, { name: \"RuleGroup\" })(RuleGroup);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RuleGroup.js","names":["RuleGroup","level","id","combinator","rules","classes","context","Context","dispatchAction","askAction","maxDepth","combinators","labels","normalizedMaxDepth","actionButtons","type","query","addRule","label","group","addGroup","DeleteIcon","delete","tooltip","onClickCombinator","item","operand","root","topGroup","subGroup","topCombinator","map","combinatorButton","removeButton","topRemoveButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","rule","index","isInvalid","some","r","i","attribute","empty","title","cursor","textDecoration","createCondition","spacer","createGroup","actionButtonContainer","topActionButtonContainer","propTypes","PropTypes","shape","string","number","array","styles","name"],"sources":["../../../src/QueryBuilder/RuleGroup/RuleGroup.js"],"sourcesContent":["import React, { useCallback, useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport {\n HvGrid,\n HvMultiButton,\n HvButton,\n HvEmptyState,\n HvTypography,\n withTooltip,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Rule from \"../Rule\";\nimport styles from \"./styles\";\n\nconst RuleGroup = ({ level = 0, id, combinator = \"and\", rules = [], classes }) => {\n const context = useContext(Context);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels } = context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n {level <= normalizedMaxDepth && (\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n )}\n </>\n );\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <div\n className={clsx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level !== 0,\n })}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton className={clsx(classes.combinator, classes.topCombinator)}>\n {combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <HvButton\n icon\n className={clsx(classes.removeButton, classes.topRemoveButton)}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={clsx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n topRulesContainer: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id ?? index}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (r.attribute === rule.attribute && r.id !== rule.id && i < index) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id ?? index}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={clsx(classes.actionButtonContainer, classes.topActionButtonContainer)}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nRuleGroup.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n id: PropTypes.number,\n level: PropTypes.number,\n combinator: PropTypes.string,\n rules: PropTypes.array,\n};\n\nexport default withStyles(styles, { name: \"RuleGroup\" })(RuleGroup);\n"],"mappings":"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"}
|
|
@@ -37,8 +37,6 @@ var _core = require("@material-ui/core");
|
|
|
37
37
|
|
|
38
38
|
var _uikitReactCore = require("@hitachivantara/uikit-react-core");
|
|
39
39
|
|
|
40
|
-
var _Focus = _interopRequireDefault(require("@hitachivantara/uikit-react-core/dist/Focus"));
|
|
41
|
-
|
|
42
40
|
var _TableContext = _interopRequireDefault(require("../TableContext"));
|
|
43
41
|
|
|
44
42
|
var _TableSectionContext = _interopRequireDefault(require("../TableSectionContext"));
|
|
@@ -82,7 +80,7 @@ var HvTableBody = /*#__PURE__*/(0, _react.forwardRef)(function HvTableBody(props
|
|
|
82
80
|
ref: handleRef,
|
|
83
81
|
role: Component === defaultComponent ? null : "rowgroup"
|
|
84
82
|
}, others), withNavigation ? children.map(function (element) {
|
|
85
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
83
|
+
return /*#__PURE__*/_react.default.createElement(_uikitReactCore.HvFocus, {
|
|
86
84
|
rootRef: bodyRef,
|
|
87
85
|
key: "row-".concat(element.key),
|
|
88
86
|
strategy: "grid",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.js","names":["tableSectionContext","type","filterClassName","defaultComponent","HvTableBody","props","externalRef","classes","className","component","children","withNavigation","others","tableContext","TableContext","bodyRef","handleRef","Component","components","TBody","root","map","element","key","selected","propTypes","PropTypes","string","node","elementType","bool","shape","isRequired","styles","name"],"sources":["../../../src/Table/TableBody/TableBody.js"],"sourcesContent":["import React, { forwardRef, useContext, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport { useForkRef } from \"@hitachivantara/uikit-react-core\";\n\nimport
|
|
1
|
+
{"version":3,"file":"TableBody.js","names":["tableSectionContext","type","filterClassName","defaultComponent","HvTableBody","props","externalRef","classes","className","component","children","withNavigation","others","tableContext","TableContext","bodyRef","handleRef","Component","components","TBody","root","map","element","key","selected","propTypes","PropTypes","string","node","elementType","bool","shape","isRequired","styles","name"],"sources":["../../../src/Table/TableBody/TableBody.js"],"sourcesContent":["import React, { forwardRef, useContext, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport { HvFocus, useForkRef } from \"@hitachivantara/uikit-react-core\";\n\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport styles from \"./styles\";\n\nconst tableSectionContext = {\n type: \"body\",\n filterClassName: \"grid\",\n};\n\nconst defaultComponent = \"tbody\";\n\n/**\n * HvTableBody acts as a `tbody` element.\n * `HvTableCell` and `HvTableRow` elements in it inherit body-specific styles\n */\nconst HvTableBody = forwardRef(function HvTableBody(props, externalRef) {\n const { classes, className, component, children, withNavigation = false, ...others } = props;\n\n const tableContext = useContext(TableContext);\n\n const bodyRef = useRef(null);\n\n const handleRef = useForkRef(externalRef, bodyRef);\n\n const Component = component || tableContext?.components?.TBody || defaultComponent;\n\n return (\n <TableSectionContext.Provider value={tableSectionContext}>\n <Component\n className={clsx(classes.root, className)}\n ref={handleRef}\n role={Component === defaultComponent ? null : \"rowgroup\"}\n {...others}\n >\n {withNavigation\n ? children.map((element) => {\n return (\n <HvFocus\n rootRef={bodyRef}\n key={`row-${element.key}`}\n strategy=\"grid\"\n useArrows=\"true\"\n filterClass={tableSectionContext.filterClassName}\n navigationJump={1}\n focusDisabled={false}\n selected={element.props.selected}\n >\n {element}\n </HvFocus>\n );\n })\n : children}\n </Component>\n </TableSectionContext.Provider>\n );\n});\n\nHvTableBody.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Content to be rendered\n */\n children: PropTypes.node,\n /**\n * The component used for the root node. Either a string to use a HTML element or a component.\n * Defaults to tbody.\n */\n component: PropTypes.elementType,\n /**\n * Sets whether or not there should be arrow navigation between the table rows\n */\n withNavigation: PropTypes.bool,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvTableBody\" })(HvTableBody);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG;EAC1BC,IAAI,EAAE,MADoB;EAE1BC,eAAe,EAAE;AAFS,CAA5B;AAKA,IAAMC,gBAAgB,GAAG,OAAzB;AAEA;AACA;AACA;AACA;;AACA,IAAMC,WAAW,gBAAG,uBAAW,SAASA,WAAT,CAAqBC,KAArB,EAA4BC,WAA5B,EAAyC;EAAA;;EACtE,IAAQC,OAAR,GAAuFF,KAAvF,CAAQE,OAAR;EAAA,IAAiBC,SAAjB,GAAuFH,KAAvF,CAAiBG,SAAjB;EAAA,IAA4BC,SAA5B,GAAuFJ,KAAvF,CAA4BI,SAA5B;EAAA,IAAuCC,QAAvC,GAAuFL,KAAvF,CAAuCK,QAAvC;EAAA,4BAAuFL,KAAvF,CAAiDM,cAAjD;EAAA,IAAiDA,cAAjD,sCAAkE,KAAlE;EAAA,IAA4EC,MAA5E,0CAAuFP,KAAvF;EAEA,IAAMQ,YAAY,GAAG,uBAAWC,qBAAX,CAArB;EAEA,IAAMC,OAAO,GAAG,mBAAO,IAAP,CAAhB;EAEA,IAAMC,SAAS,GAAG,gCAAWV,WAAX,EAAwBS,OAAxB,CAAlB;EAEA,IAAME,SAAS,GAAGR,SAAS,KAAII,YAAJ,aAAIA,YAAJ,gDAAIA,YAAY,CAAEK,UAAlB,0DAAI,sBAA0BC,KAA9B,CAAT,IAAgDhB,gBAAlE;EAEA,oBACE,6BAAC,4BAAD,CAAqB,QAArB;IAA8B,KAAK,EAAEH;EAArC,gBACE,6BAAC,SAAD;IACE,SAAS,EAAE,mBAAKO,OAAO,CAACa,IAAb,EAAmBZ,SAAnB,CADb;IAEE,GAAG,EAAEQ,SAFP;IAGE,IAAI,EAAEC,SAAS,KAAKd,gBAAd,GAAiC,IAAjC,GAAwC;EAHhD,GAIMS,MAJN,GAMGD,cAAc,GACXD,QAAQ,CAACW,GAAT,CAAa,UAACC,OAAD,EAAa;IACxB,oBACE,6BAAC,uBAAD;MACE,OAAO,EAAEP,OADX;MAEE,GAAG,gBAASO,OAAO,CAACC,GAAjB,CAFL;MAGE,QAAQ,EAAC,MAHX;MAIE,SAAS,EAAC,MAJZ;MAKE,WAAW,EAAEvB,mBAAmB,CAACE,eALnC;MAME,cAAc,EAAE,CANlB;MAOE,aAAa,EAAE,KAPjB;MAQE,QAAQ,EAAEoB,OAAO,CAACjB,KAAR,CAAcmB;IAR1B,GAUGF,OAVH,CADF;EAcD,CAfD,CADW,GAiBXZ,QAvBN,CADF,CADF;AA6BD,CAxCmB,CAApB;AA0CA,wCAAAN,WAAW,CAACqB,SAAZ,GAAwB;EACtB;AACF;AACA;EACEjB,SAAS,EAAEkB,mBAAUC,MAJC;;EAKtB;AACF;AACA;EACEjB,QAAQ,EAAEgB,mBAAUE,IARE;;EAStB;AACF;AACA;AACA;EACEnB,SAAS,EAAEiB,mBAAUG,WAbC;;EActB;AACF;AACA;EACElB,cAAc,EAAEe,mBAAUI,IAjBJ;;EAkBtB;AACF;AACA;EACEvB,OAAO,EAAEmB,mBAAUK,KAAV,CAAgB;IACvB;AACJ;AACA;IACIX,IAAI,EAAEM,mBAAUC;EAJO,CAAhB,EAKNK;AA1BmB,CAAxB;;eA6Be,sBAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA4C9B,WAA5C,C"}
|
|
@@ -65,7 +65,6 @@ var Rule = function Rule(_ref) {
|
|
|
65
65
|
xs: 2,
|
|
66
66
|
lg: 3
|
|
67
67
|
}, /*#__PURE__*/React.createElement(Operator, {
|
|
68
|
-
key: id + combinator + attribute + operator,
|
|
69
68
|
id: id,
|
|
70
69
|
combinator: combinator,
|
|
71
70
|
attribute: attribute,
|
|
@@ -74,7 +73,6 @@ var Rule = function Rule(_ref) {
|
|
|
74
73
|
item: true,
|
|
75
74
|
xs: true
|
|
76
75
|
}, shouldShowValueInput && /*#__PURE__*/React.createElement(Value, {
|
|
77
|
-
key: id + combinator + attribute + operator,
|
|
78
76
|
attribute: attribute,
|
|
79
77
|
id: id,
|
|
80
78
|
operator: operator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.js","names":["React","useMemo","useContext","PropTypes","HvGrid","HvButton","withTooltip","Delete","Context","Attribute","Operator","Value","useStyles","Rule","id","combinator","attribute","operator","value","disabled","isInvalid","classes","context","askAction","attributes","operators","labels","availableOperators","attributeSpec","typeOperators","type","reduce","count","item","combinators","includes","shouldShowValueInput","DeleteIcon","rule","delete","tooltip","root","actionsContainer","ariaLabel","actions","dialog","propTypes","number","string","any","bool"],"sources":["../../../../src/QueryBuilder/Rule/Rule.js"],"sourcesContent":["import React, { useMemo, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvGrid, HvButton, withTooltip } from \"@hitachivantara/uikit-react-core\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Attribute from \"./Attribute\";\nimport Operator from \"./Operator\";\nimport Value from \"./Value\";\nimport useStyles from \"./styles\";\n\nconst Rule = ({ id, combinator, attribute, operator, value, disabled, isInvalid }) => {\n const classes = useStyles();\n const context = useContext(Context);\n\n const { askAction, attributes, operators, labels } = context;\n\n const availableOperators = useMemo(() => {\n const attributeSpec = attribute != null ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) => count + (item.combinators.includes(combinator) ? 1 : 0),\n 0\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n const shouldShowValueInput = operator !== \"Empty\" && operator !== \"IsNotEmpty\";\n\n const DeleteIcon = withTooltip(() => <Delete />, labels.rule.delete.tooltip, \"bottom\");\n\n return (\n <HvGrid container className={classes.root} spacing={0} wrap=\"nowrap\">\n <HvGrid item xs={2} lg={3}>\n <Attribute attribute={attribute} id={id} disabled={disabled} isInvalid={isInvalid} />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={2} lg={3}>\n <Operator
|
|
1
|
+
{"version":3,"file":"Rule.js","names":["React","useMemo","useContext","PropTypes","HvGrid","HvButton","withTooltip","Delete","Context","Attribute","Operator","Value","useStyles","Rule","id","combinator","attribute","operator","value","disabled","isInvalid","classes","context","askAction","attributes","operators","labels","availableOperators","attributeSpec","typeOperators","type","reduce","count","item","combinators","includes","shouldShowValueInput","DeleteIcon","rule","delete","tooltip","root","actionsContainer","ariaLabel","actions","dialog","propTypes","number","string","any","bool"],"sources":["../../../../src/QueryBuilder/Rule/Rule.js"],"sourcesContent":["import React, { useMemo, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvGrid, HvButton, withTooltip } from \"@hitachivantara/uikit-react-core\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Attribute from \"./Attribute\";\nimport Operator from \"./Operator\";\nimport Value from \"./Value\";\nimport useStyles from \"./styles\";\n\nconst Rule = ({ id, combinator, attribute, operator, value, disabled, isInvalid }) => {\n const classes = useStyles();\n const context = useContext(Context);\n\n const { askAction, attributes, operators, labels } = context;\n\n const availableOperators = useMemo(() => {\n const attributeSpec = attribute != null ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) => count + (item.combinators.includes(combinator) ? 1 : 0),\n 0\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n const shouldShowValueInput = operator !== \"Empty\" && operator !== \"IsNotEmpty\";\n\n const DeleteIcon = withTooltip(() => <Delete />, labels.rule.delete.tooltip, \"bottom\");\n\n return (\n <HvGrid container className={classes.root} spacing={0} wrap=\"nowrap\">\n <HvGrid item xs={2} lg={3}>\n <Attribute attribute={attribute} id={id} disabled={disabled} isInvalid={isInvalid} />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={2} lg={3}>\n <Operator id={id} combinator={combinator} attribute={attribute} operator={operator} />\n </HvGrid>\n )}\n {attribute != null && (operator != null || availableOperators === 0) && (\n <HvGrid item xs>\n {shouldShowValueInput && (\n <Value attribute={attribute} id={id} operator={operator} value={value} />\n )}\n </HvGrid>\n )}\n <HvGrid item className={classes.actionsContainer}>\n <HvButton\n icon\n aria-label={labels.rule.delete.ariaLabel}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog: labels.rule.delete,\n });\n }}\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n );\n};\n\nRule.propTypes = {\n id: PropTypes.number,\n combinator: PropTypes.string,\n attribute: PropTypes.string,\n operator: PropTypes.string,\n value: PropTypes.any,\n disabled: PropTypes.bool,\n isInvalid: PropTypes.bool,\n};\n\nexport default Rule;\n"],"mappings":"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"}
|
|
@@ -96,9 +96,13 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
96
96
|
}, /*#__PURE__*/React.createElement(DeleteIcon, null)))), (rules === null || rules === void 0 ? void 0 : rules.length) > 0 && /*#__PURE__*/React.createElement("div", {
|
|
97
97
|
className: clsx(classes.rulesContainer, level > 0 && classes.subRulesContainer, level === 0 && "topRulesContainer")
|
|
98
98
|
}, rules.map(function (rule, index) {
|
|
99
|
+
var _rule$id2;
|
|
100
|
+
|
|
99
101
|
if ("combinator" in rule) {
|
|
102
|
+
var _rule$id;
|
|
103
|
+
|
|
100
104
|
return /*#__PURE__*/React.createElement(RuleGroup, _extends({
|
|
101
|
-
key: rule.id
|
|
105
|
+
key: (_rule$id = rule.id) !== null && _rule$id !== void 0 ? _rule$id : index,
|
|
102
106
|
level: level + 1
|
|
103
107
|
}, rule, {
|
|
104
108
|
id: rule.id,
|
|
@@ -116,7 +120,7 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
116
120
|
return false;
|
|
117
121
|
});
|
|
118
122
|
return /*#__PURE__*/React.createElement(Rule, _extends({
|
|
119
|
-
key: rule.id
|
|
123
|
+
key: (_rule$id2 = rule.id) !== null && _rule$id2 !== void 0 ? _rule$id2 : index
|
|
120
124
|
}, rule, {
|
|
121
125
|
isInvalid: isInvalid,
|
|
122
126
|
id: rule.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleGroup.js","names":["React","useCallback","useContext","clsx","withStyles","PropTypes","HvGrid","HvMultiButton","HvButton","HvEmptyState","HvTypography","withTooltip","Add","Delete","Info","Context","Rule","styles","RuleGroup","level","id","combinator","rules","classes","context","dispatchAction","askAction","maxDepth","combinators","labels","normalizedMaxDepth","actionButtons","type","query","addRule","label","group","addGroup","DeleteIcon","delete","tooltip","onClickCombinator","item","operand","root","topGroup","subGroup","topCombinator","map","combinatorButton","removeButton","topRemoveButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","rule","index","Math","random","isInvalid","some","r","i","attribute","empty","title","cursor","textDecoration","createCondition","spacer","createGroup","actionButtonContainer","topActionButtonContainer","propTypes","shape","string","number","array","name"],"sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.js"],"sourcesContent":["import React, { useCallback, useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport {\n HvGrid,\n HvMultiButton,\n HvButton,\n HvEmptyState,\n HvTypography,\n withTooltip,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Rule from \"../Rule\";\nimport styles from \"./styles\";\n\nconst RuleGroup = ({ level = 0, id, combinator = \"and\", rules = [], classes }) => {\n const context = useContext(Context);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels } = context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n {level <= normalizedMaxDepth && (\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n )}\n </>\n );\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <div\n className={clsx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level !== 0,\n })}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton className={clsx(classes.combinator, classes.topCombinator)}>\n {combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <HvButton\n icon\n className={clsx(classes.removeButton, classes.topRemoveButton)}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={clsx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n topRulesContainer: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id || Math.random()}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (r.attribute === rule.attribute && r.id !== rule.id && i < index) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id || Math.random()}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={clsx(classes.actionButtonContainer, classes.topActionButtonContainer)}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nRuleGroup.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n id: PropTypes.number,\n level: PropTypes.number,\n combinator: PropTypes.string,\n rules: PropTypes.array,\n};\n\nexport default withStyles(styles, { name: \"RuleGroup\" })(RuleGroup);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RuleGroup.js","names":["React","useCallback","useContext","clsx","withStyles","PropTypes","HvGrid","HvMultiButton","HvButton","HvEmptyState","HvTypography","withTooltip","Add","Delete","Info","Context","Rule","styles","RuleGroup","level","id","combinator","rules","classes","context","dispatchAction","askAction","maxDepth","combinators","labels","normalizedMaxDepth","actionButtons","type","query","addRule","label","group","addGroup","DeleteIcon","delete","tooltip","onClickCombinator","item","operand","root","topGroup","subGroup","topCombinator","map","combinatorButton","removeButton","topRemoveButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","rule","index","isInvalid","some","r","i","attribute","empty","title","cursor","textDecoration","createCondition","spacer","createGroup","actionButtonContainer","topActionButtonContainer","propTypes","shape","string","number","array","name"],"sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.js"],"sourcesContent":["import React, { useCallback, useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport {\n HvGrid,\n HvMultiButton,\n HvButton,\n HvEmptyState,\n HvTypography,\n withTooltip,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Rule from \"../Rule\";\nimport styles from \"./styles\";\n\nconst RuleGroup = ({ level = 0, id, combinator = \"and\", rules = [], classes }) => {\n const context = useContext(Context);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels } = context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n {level <= normalizedMaxDepth && (\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n )}\n </>\n );\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <div\n className={clsx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level !== 0,\n })}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton className={clsx(classes.combinator, classes.topCombinator)}>\n {combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <HvButton\n icon\n className={clsx(classes.removeButton, classes.topRemoveButton)}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={clsx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n topRulesContainer: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id ?? index}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (r.attribute === rule.attribute && r.id !== rule.id && i < index) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id ?? index}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={clsx(classes.actionButtonContainer, classes.topActionButtonContainer)}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nRuleGroup.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n id: PropTypes.number,\n level: PropTypes.number,\n combinator: PropTypes.string,\n rules: PropTypes.array,\n};\n\nexport default withStyles(styles, { name: \"RuleGroup\" })(RuleGroup);\n"],"mappings":"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"}
|
|
@@ -6,8 +6,7 @@ import React, { forwardRef, useContext, useRef } from "react";
|
|
|
6
6
|
import PropTypes from "prop-types";
|
|
7
7
|
import clsx from "clsx";
|
|
8
8
|
import { withStyles } from "@material-ui/core";
|
|
9
|
-
import { useForkRef } from "@hitachivantara/uikit-react-core";
|
|
10
|
-
import Focus from "@hitachivantara/uikit-react-core/dist/Focus";
|
|
9
|
+
import { HvFocus, useForkRef } from "@hitachivantara/uikit-react-core";
|
|
11
10
|
import TableContext from "../TableContext";
|
|
12
11
|
import TableSectionContext from "../TableSectionContext";
|
|
13
12
|
import styles from "./styles";
|
|
@@ -43,7 +42,7 @@ var HvTableBody = /*#__PURE__*/forwardRef(function HvTableBody(props, externalRe
|
|
|
43
42
|
ref: handleRef,
|
|
44
43
|
role: Component === defaultComponent ? null : "rowgroup"
|
|
45
44
|
}, others), withNavigation ? children.map(function (element) {
|
|
46
|
-
return /*#__PURE__*/React.createElement(
|
|
45
|
+
return /*#__PURE__*/React.createElement(HvFocus, {
|
|
47
46
|
rootRef: bodyRef,
|
|
48
47
|
key: "row-".concat(element.key),
|
|
49
48
|
strategy: "grid",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.js","names":["React","forwardRef","useContext","useRef","PropTypes","clsx","withStyles","
|
|
1
|
+
{"version":3,"file":"TableBody.js","names":["React","forwardRef","useContext","useRef","PropTypes","clsx","withStyles","HvFocus","useForkRef","TableContext","TableSectionContext","styles","tableSectionContext","type","filterClassName","defaultComponent","HvTableBody","props","externalRef","classes","className","component","children","withNavigation","others","tableContext","bodyRef","handleRef","Component","components","TBody","root","map","element","key","selected","propTypes","string","node","elementType","bool","shape","isRequired","name"],"sources":["../../../../src/Table/TableBody/TableBody.js"],"sourcesContent":["import React, { forwardRef, useContext, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport { HvFocus, useForkRef } from \"@hitachivantara/uikit-react-core\";\n\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport styles from \"./styles\";\n\nconst tableSectionContext = {\n type: \"body\",\n filterClassName: \"grid\",\n};\n\nconst defaultComponent = \"tbody\";\n\n/**\n * HvTableBody acts as a `tbody` element.\n * `HvTableCell` and `HvTableRow` elements in it inherit body-specific styles\n */\nconst HvTableBody = forwardRef(function HvTableBody(props, externalRef) {\n const { classes, className, component, children, withNavigation = false, ...others } = props;\n\n const tableContext = useContext(TableContext);\n\n const bodyRef = useRef(null);\n\n const handleRef = useForkRef(externalRef, bodyRef);\n\n const Component = component || tableContext?.components?.TBody || defaultComponent;\n\n return (\n <TableSectionContext.Provider value={tableSectionContext}>\n <Component\n className={clsx(classes.root, className)}\n ref={handleRef}\n role={Component === defaultComponent ? null : \"rowgroup\"}\n {...others}\n >\n {withNavigation\n ? children.map((element) => {\n return (\n <HvFocus\n rootRef={bodyRef}\n key={`row-${element.key}`}\n strategy=\"grid\"\n useArrows=\"true\"\n filterClass={tableSectionContext.filterClassName}\n navigationJump={1}\n focusDisabled={false}\n selected={element.props.selected}\n >\n {element}\n </HvFocus>\n );\n })\n : children}\n </Component>\n </TableSectionContext.Provider>\n );\n});\n\nHvTableBody.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Content to be rendered\n */\n children: PropTypes.node,\n /**\n * The component used for the root node. Either a string to use a HTML element or a component.\n * Defaults to tbody.\n */\n component: PropTypes.elementType,\n /**\n * Sets whether or not there should be arrow navigation between the table rows\n */\n withNavigation: PropTypes.bool,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvTableBody\" })(HvTableBody);\n"],"mappings":"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"}
|
|
@@ -62,7 +62,6 @@ const Rule = ({
|
|
|
62
62
|
xs: 2,
|
|
63
63
|
lg: 3
|
|
64
64
|
}, /*#__PURE__*/React.createElement(Operator, {
|
|
65
|
-
key: id + combinator + attribute + operator,
|
|
66
65
|
id: id,
|
|
67
66
|
combinator: combinator,
|
|
68
67
|
attribute: attribute,
|
|
@@ -71,7 +70,6 @@ const Rule = ({
|
|
|
71
70
|
item: true,
|
|
72
71
|
xs: true
|
|
73
72
|
}, shouldShowValueInput && /*#__PURE__*/React.createElement(Value, {
|
|
74
|
-
key: id + combinator + attribute + operator,
|
|
75
73
|
attribute: attribute,
|
|
76
74
|
id: id,
|
|
77
75
|
operator: operator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rule.js","names":["React","useMemo","useContext","PropTypes","HvGrid","HvButton","withTooltip","Delete","Context","Attribute","Operator","Value","useStyles","Rule","id","combinator","attribute","operator","value","disabled","isInvalid","classes","context","askAction","attributes","operators","labels","availableOperators","attributeSpec","typeOperators","type","reduce","count","item","combinators","includes","shouldShowValueInput","DeleteIcon","rule","delete","tooltip","root","actionsContainer","ariaLabel","actions","dialog","propTypes","number","string","any","bool"],"sources":["../../../../src/QueryBuilder/Rule/Rule.js"],"sourcesContent":["import React, { useMemo, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvGrid, HvButton, withTooltip } from \"@hitachivantara/uikit-react-core\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Attribute from \"./Attribute\";\nimport Operator from \"./Operator\";\nimport Value from \"./Value\";\nimport useStyles from \"./styles\";\n\nconst Rule = ({ id, combinator, attribute, operator, value, disabled, isInvalid }) => {\n const classes = useStyles();\n const context = useContext(Context);\n\n const { askAction, attributes, operators, labels } = context;\n\n const availableOperators = useMemo(() => {\n const attributeSpec = attribute != null ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) => count + (item.combinators.includes(combinator) ? 1 : 0),\n 0\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n const shouldShowValueInput = operator !== \"Empty\" && operator !== \"IsNotEmpty\";\n\n const DeleteIcon = withTooltip(() => <Delete />, labels.rule.delete.tooltip, \"bottom\");\n\n return (\n <HvGrid container className={classes.root} spacing={0} wrap=\"nowrap\">\n <HvGrid item xs={2} lg={3}>\n <Attribute attribute={attribute} id={id} disabled={disabled} isInvalid={isInvalid} />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={2} lg={3}>\n <Operator
|
|
1
|
+
{"version":3,"file":"Rule.js","names":["React","useMemo","useContext","PropTypes","HvGrid","HvButton","withTooltip","Delete","Context","Attribute","Operator","Value","useStyles","Rule","id","combinator","attribute","operator","value","disabled","isInvalid","classes","context","askAction","attributes","operators","labels","availableOperators","attributeSpec","typeOperators","type","reduce","count","item","combinators","includes","shouldShowValueInput","DeleteIcon","rule","delete","tooltip","root","actionsContainer","ariaLabel","actions","dialog","propTypes","number","string","any","bool"],"sources":["../../../../src/QueryBuilder/Rule/Rule.js"],"sourcesContent":["import React, { useMemo, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvGrid, HvButton, withTooltip } from \"@hitachivantara/uikit-react-core\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Attribute from \"./Attribute\";\nimport Operator from \"./Operator\";\nimport Value from \"./Value\";\nimport useStyles from \"./styles\";\n\nconst Rule = ({ id, combinator, attribute, operator, value, disabled, isInvalid }) => {\n const classes = useStyles();\n const context = useContext(Context);\n\n const { askAction, attributes, operators, labels } = context;\n\n const availableOperators = useMemo(() => {\n const attributeSpec = attribute != null ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) => count + (item.combinators.includes(combinator) ? 1 : 0),\n 0\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n const shouldShowValueInput = operator !== \"Empty\" && operator !== \"IsNotEmpty\";\n\n const DeleteIcon = withTooltip(() => <Delete />, labels.rule.delete.tooltip, \"bottom\");\n\n return (\n <HvGrid container className={classes.root} spacing={0} wrap=\"nowrap\">\n <HvGrid item xs={2} lg={3}>\n <Attribute attribute={attribute} id={id} disabled={disabled} isInvalid={isInvalid} />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={2} lg={3}>\n <Operator id={id} combinator={combinator} attribute={attribute} operator={operator} />\n </HvGrid>\n )}\n {attribute != null && (operator != null || availableOperators === 0) && (\n <HvGrid item xs>\n {shouldShowValueInput && (\n <Value attribute={attribute} id={id} operator={operator} value={value} />\n )}\n </HvGrid>\n )}\n <HvGrid item className={classes.actionsContainer}>\n <HvButton\n icon\n aria-label={labels.rule.delete.ariaLabel}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog: labels.rule.delete,\n });\n }}\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n );\n};\n\nRule.propTypes = {\n id: PropTypes.number,\n combinator: PropTypes.string,\n attribute: PropTypes.string,\n operator: PropTypes.string,\n value: PropTypes.any,\n disabled: PropTypes.bool,\n isInvalid: PropTypes.bool,\n};\n\nexport default Rule;\n"],"mappings":"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"}
|
|
@@ -88,9 +88,13 @@ const RuleGroup = ({
|
|
|
88
88
|
}, /*#__PURE__*/React.createElement(DeleteIcon, null)))), (rules === null || rules === void 0 ? void 0 : rules.length) > 0 && /*#__PURE__*/React.createElement("div", {
|
|
89
89
|
className: clsx(classes.rulesContainer, level > 0 && classes.subRulesContainer, level === 0 && "topRulesContainer")
|
|
90
90
|
}, rules.map((rule, index) => {
|
|
91
|
+
var _rule$id2;
|
|
92
|
+
|
|
91
93
|
if ("combinator" in rule) {
|
|
94
|
+
var _rule$id;
|
|
95
|
+
|
|
92
96
|
return /*#__PURE__*/React.createElement(RuleGroup, _extends({
|
|
93
|
-
key: rule.id
|
|
97
|
+
key: (_rule$id = rule.id) !== null && _rule$id !== void 0 ? _rule$id : index,
|
|
94
98
|
level: level + 1
|
|
95
99
|
}, rule, {
|
|
96
100
|
id: rule.id,
|
|
@@ -108,7 +112,7 @@ const RuleGroup = ({
|
|
|
108
112
|
return false;
|
|
109
113
|
});
|
|
110
114
|
return /*#__PURE__*/React.createElement(Rule, _extends({
|
|
111
|
-
key: rule.id
|
|
115
|
+
key: (_rule$id2 = rule.id) !== null && _rule$id2 !== void 0 ? _rule$id2 : index
|
|
112
116
|
}, rule, {
|
|
113
117
|
isInvalid: isInvalid,
|
|
114
118
|
id: rule.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleGroup.js","names":["React","useCallback","useContext","clsx","withStyles","PropTypes","HvGrid","HvMultiButton","HvButton","HvEmptyState","HvTypography","withTooltip","Add","Delete","Info","Context","Rule","styles","RuleGroup","level","id","combinator","rules","classes","context","dispatchAction","askAction","maxDepth","combinators","labels","normalizedMaxDepth","actionButtons","type","query","addRule","label","group","addGroup","DeleteIcon","delete","tooltip","onClickCombinator","item","operand","root","topGroup","subGroup","topCombinator","map","combinatorButton","removeButton","topRemoveButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","rule","index","Math","random","isInvalid","some","r","i","attribute","empty","title","cursor","textDecoration","createCondition","spacer","createGroup","actionButtonContainer","topActionButtonContainer","propTypes","shape","string","number","array","name"],"sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.js"],"sourcesContent":["import React, { useCallback, useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport {\n HvGrid,\n HvMultiButton,\n HvButton,\n HvEmptyState,\n HvTypography,\n withTooltip,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Rule from \"../Rule\";\nimport styles from \"./styles\";\n\nconst RuleGroup = ({ level = 0, id, combinator = \"and\", rules = [], classes }) => {\n const context = useContext(Context);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels } = context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n {level <= normalizedMaxDepth && (\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n )}\n </>\n );\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <div\n className={clsx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level !== 0,\n })}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton className={clsx(classes.combinator, classes.topCombinator)}>\n {combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <HvButton\n icon\n className={clsx(classes.removeButton, classes.topRemoveButton)}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={clsx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n topRulesContainer: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id || Math.random()}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (r.attribute === rule.attribute && r.id !== rule.id && i < index) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id || Math.random()}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={clsx(classes.actionButtonContainer, classes.topActionButtonContainer)}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nRuleGroup.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n id: PropTypes.number,\n level: PropTypes.number,\n combinator: PropTypes.string,\n rules: PropTypes.array,\n};\n\nexport default withStyles(styles, { name: \"RuleGroup\" })(RuleGroup);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RuleGroup.js","names":["React","useCallback","useContext","clsx","withStyles","PropTypes","HvGrid","HvMultiButton","HvButton","HvEmptyState","HvTypography","withTooltip","Add","Delete","Info","Context","Rule","styles","RuleGroup","level","id","combinator","rules","classes","context","dispatchAction","askAction","maxDepth","combinators","labels","normalizedMaxDepth","actionButtons","type","query","addRule","label","group","addGroup","DeleteIcon","delete","tooltip","onClickCombinator","item","operand","root","topGroup","subGroup","topCombinator","map","combinatorButton","removeButton","topRemoveButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","rule","index","isInvalid","some","r","i","attribute","empty","title","cursor","textDecoration","createCondition","spacer","createGroup","actionButtonContainer","topActionButtonContainer","propTypes","shape","string","number","array","name"],"sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.js"],"sourcesContent":["import React, { useCallback, useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport {\n HvGrid,\n HvMultiButton,\n HvButton,\n HvEmptyState,\n HvTypography,\n withTooltip,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Rule from \"../Rule\";\nimport styles from \"./styles\";\n\nconst RuleGroup = ({ level = 0, id, combinator = \"and\", rules = [], classes }) => {\n const context = useContext(Context);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels } = context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n {level <= normalizedMaxDepth && (\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n )}\n </>\n );\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <div\n className={clsx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level !== 0,\n })}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton className={clsx(classes.combinator, classes.topCombinator)}>\n {combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <HvButton\n icon\n className={clsx(classes.removeButton, classes.topRemoveButton)}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={clsx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n topRulesContainer: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id ?? index}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (r.attribute === rule.attribute && r.id !== rule.id && i < index) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id ?? index}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={clsx(classes.actionButtonContainer, classes.topActionButtonContainer)}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nRuleGroup.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n id: PropTypes.number,\n level: PropTypes.number,\n combinator: PropTypes.string,\n rules: PropTypes.array,\n};\n\nexport default withStyles(styles, { name: \"RuleGroup\" })(RuleGroup);\n"],"mappings":"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"}
|
|
@@ -5,8 +5,7 @@ import React, { forwardRef, useContext, useRef } from "react";
|
|
|
5
5
|
import PropTypes from "prop-types";
|
|
6
6
|
import clsx from "clsx";
|
|
7
7
|
import { withStyles } from "@material-ui/core";
|
|
8
|
-
import { useForkRef } from "@hitachivantara/uikit-react-core";
|
|
9
|
-
import Focus from "@hitachivantara/uikit-react-core/dist/Focus";
|
|
8
|
+
import { HvFocus, useForkRef } from "@hitachivantara/uikit-react-core";
|
|
10
9
|
import TableContext from "../TableContext";
|
|
11
10
|
import TableSectionContext from "../TableSectionContext";
|
|
12
11
|
import styles from "./styles";
|
|
@@ -43,7 +42,7 @@ const HvTableBody = /*#__PURE__*/forwardRef(function HvTableBody(props, external
|
|
|
43
42
|
ref: handleRef,
|
|
44
43
|
role: Component === defaultComponent ? null : "rowgroup"
|
|
45
44
|
}, others), withNavigation ? children.map(element => {
|
|
46
|
-
return /*#__PURE__*/React.createElement(
|
|
45
|
+
return /*#__PURE__*/React.createElement(HvFocus, {
|
|
47
46
|
rootRef: bodyRef,
|
|
48
47
|
key: `row-${element.key}`,
|
|
49
48
|
strategy: "grid",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.js","names":["React","forwardRef","useContext","useRef","PropTypes","clsx","withStyles","
|
|
1
|
+
{"version":3,"file":"TableBody.js","names":["React","forwardRef","useContext","useRef","PropTypes","clsx","withStyles","HvFocus","useForkRef","TableContext","TableSectionContext","styles","tableSectionContext","type","filterClassName","defaultComponent","HvTableBody","props","externalRef","classes","className","component","children","withNavigation","others","tableContext","bodyRef","handleRef","Component","components","TBody","root","map","element","key","selected","propTypes","string","node","elementType","bool","shape","isRequired","name"],"sources":["../../../../src/Table/TableBody/TableBody.js"],"sourcesContent":["import React, { forwardRef, useContext, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport { HvFocus, useForkRef } from \"@hitachivantara/uikit-react-core\";\n\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport styles from \"./styles\";\n\nconst tableSectionContext = {\n type: \"body\",\n filterClassName: \"grid\",\n};\n\nconst defaultComponent = \"tbody\";\n\n/**\n * HvTableBody acts as a `tbody` element.\n * `HvTableCell` and `HvTableRow` elements in it inherit body-specific styles\n */\nconst HvTableBody = forwardRef(function HvTableBody(props, externalRef) {\n const { classes, className, component, children, withNavigation = false, ...others } = props;\n\n const tableContext = useContext(TableContext);\n\n const bodyRef = useRef(null);\n\n const handleRef = useForkRef(externalRef, bodyRef);\n\n const Component = component || tableContext?.components?.TBody || defaultComponent;\n\n return (\n <TableSectionContext.Provider value={tableSectionContext}>\n <Component\n className={clsx(classes.root, className)}\n ref={handleRef}\n role={Component === defaultComponent ? null : \"rowgroup\"}\n {...others}\n >\n {withNavigation\n ? children.map((element) => {\n return (\n <HvFocus\n rootRef={bodyRef}\n key={`row-${element.key}`}\n strategy=\"grid\"\n useArrows=\"true\"\n filterClass={tableSectionContext.filterClassName}\n navigationJump={1}\n focusDisabled={false}\n selected={element.props.selected}\n >\n {element}\n </HvFocus>\n );\n })\n : children}\n </Component>\n </TableSectionContext.Provider>\n );\n});\n\nHvTableBody.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Content to be rendered\n */\n children: PropTypes.node,\n /**\n * The component used for the root node. Either a string to use a HTML element or a component.\n * Defaults to tbody.\n */\n component: PropTypes.elementType,\n /**\n * Sets whether or not there should be arrow navigation between the table rows\n */\n withNavigation: PropTypes.bool,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvTableBody\" })(HvTableBody);\n"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,EAA4BC,UAA5B,EAAwCC,MAAxC,QAAsD,OAAtD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AAEA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,OAAT,EAAkBC,UAAlB,QAAoC,kCAApC;AAEA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,mBAAP,MAAgC,wBAAhC;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,MAAMC,mBAAmB,GAAG;EAC1BC,IAAI,EAAE,MADoB;EAE1BC,eAAe,EAAE;AAFS,CAA5B;AAKA,MAAMC,gBAAgB,GAAG,OAAzB;AAEA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,gBAAGf,UAAU,CAAC,SAASe,WAAT,CAAqBC,KAArB,EAA4BC,WAA5B,EAAyC;EAAA;;EACtE,MAAM;IAAEC,OAAF;IAAWC,SAAX;IAAsBC,SAAtB;IAAiCC,QAAjC;IAA2CC,cAAc,GAAG;EAA5D,IAAiFN,KAAvF;EAAA,MAA4EO,MAA5E,4BAAuFP,KAAvF;;EAEA,MAAMQ,YAAY,GAAGvB,UAAU,CAACO,YAAD,CAA/B;EAEA,MAAMiB,OAAO,GAAGvB,MAAM,CAAC,IAAD,CAAtB;EAEA,MAAMwB,SAAS,GAAGnB,UAAU,CAACU,WAAD,EAAcQ,OAAd,CAA5B;EAEA,MAAME,SAAS,GAAGP,SAAS,KAAII,YAAJ,aAAIA,YAAJ,gDAAIA,YAAY,CAAEI,UAAlB,0DAAI,sBAA0BC,KAA9B,CAAT,IAAgDf,gBAAlE;EAEA,oBACE,oBAAC,mBAAD,CAAqB,QAArB;IAA8B,KAAK,EAAEH;EAArC,gBACE,oBAAC,SAAD;IACE,SAAS,EAAEP,IAAI,CAACc,OAAO,CAACY,IAAT,EAAeX,SAAf,CADjB;IAEE,GAAG,EAAEO,SAFP;IAGE,IAAI,EAAEC,SAAS,KAAKb,gBAAd,GAAiC,IAAjC,GAAwC;EAHhD,GAIMS,MAJN,GAMGD,cAAc,GACXD,QAAQ,CAACU,GAAT,CAAcC,OAAD,IAAa;IACxB,oBACE,oBAAC,OAAD;MACE,OAAO,EAAEP,OADX;MAEE,GAAG,EAAG,OAAMO,OAAO,CAACC,GAAI,EAF1B;MAGE,QAAQ,EAAC,MAHX;MAIE,SAAS,EAAC,MAJZ;MAKE,WAAW,EAAEtB,mBAAmB,CAACE,eALnC;MAME,cAAc,EAAE,CANlB;MAOE,aAAa,EAAE,KAPjB;MAQE,QAAQ,EAAEmB,OAAO,CAAChB,KAAR,CAAckB;IAR1B,GAUGF,OAVH,CADF;EAcD,CAfD,CADW,GAiBXX,QAvBN,CADF,CADF;AA6BD,CAxC6B,CAA9B;AA0CA,wCAAAN,WAAW,CAACoB,SAAZ,GAAwB;EACtB;AACF;AACA;EACEhB,SAAS,EAAEhB,SAAS,CAACiC,MAJC;;EAKtB;AACF;AACA;EACEf,QAAQ,EAAElB,SAAS,CAACkC,IARE;;EAStB;AACF;AACA;AACA;EACEjB,SAAS,EAAEjB,SAAS,CAACmC,WAbC;;EActB;AACF;AACA;EACEhB,cAAc,EAAEnB,SAAS,CAACoC,IAjBJ;;EAkBtB;AACF;AACA;EACErB,OAAO,EAAEf,SAAS,CAACqC,KAAV,CAAgB;IACvB;AACJ;AACA;IACIV,IAAI,EAAE3B,SAAS,CAACiC;EAJO,CAAhB,EAKNK;AA1BmB,CAAxB;AA6BA,eAAepC,UAAU,CAACK,MAAD,EAAS;EAAEgC,IAAI,EAAE;AAAR,CAAT,CAAV,CAA4C3B,WAA5C,CAAf"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-lab",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.49.1",
|
|
4
4
|
"description": "A collection of contributed React components for the Hitachi Vantara's Design System.",
|
|
5
5
|
"homepage": "https://github.com/lumada-design/hv-uikit-react",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/legacy/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"sideEffects": false,
|
|
7
11
|
"author": {
|
|
8
12
|
"name": "Hitachi Vantara UI Kit Team"
|
|
9
13
|
},
|
|
10
|
-
"sideEffects": false,
|
|
11
|
-
"exports": {
|
|
12
|
-
".": "./dist/modern/index.js",
|
|
13
|
-
"./dist/": "./dist/modern/"
|
|
14
|
-
},
|
|
15
|
-
"main": "./dist/index.js",
|
|
16
|
-
"module": "./dist/legacy/index.js",
|
|
17
|
-
"typings": "dist/index.d.ts",
|
|
18
14
|
"repository": {
|
|
19
15
|
"type": "git",
|
|
20
16
|
"url": "https://github.com/lumada-design/hv-uikit-react.git"
|
|
@@ -41,46 +37,44 @@
|
|
|
41
37
|
},
|
|
42
38
|
"peerDependencies": {
|
|
43
39
|
"@material-ui/core": "^4.12.3",
|
|
44
|
-
"react": "^16.13.1 || ^17.0.
|
|
45
|
-
"react-dom": "^16.13.1 || ^17.0.
|
|
40
|
+
"react": "^16.13.1 || ^17.0.2",
|
|
41
|
+
"react-dom": "^16.13.1 || ^17.0.2"
|
|
46
42
|
},
|
|
47
43
|
"dependencies": {
|
|
48
|
-
"@babel/runtime": "^7.
|
|
49
|
-
"@hitachivantara/uikit-react-core": "^3.
|
|
50
|
-
"@hitachivantara/uikit-react-icons": "^3.
|
|
51
|
-
"@types/react-table": "^7.7.
|
|
52
|
-
"clsx": "^1.
|
|
53
|
-
"core-js": "^3.
|
|
54
|
-
"dayjs": "^1.11.
|
|
44
|
+
"@babel/runtime": "^7.18.6",
|
|
45
|
+
"@hitachivantara/uikit-react-core": "^3.68.1",
|
|
46
|
+
"@hitachivantara/uikit-react-icons": "^3.9.1",
|
|
47
|
+
"@types/react-table": "^7.7.12",
|
|
48
|
+
"clsx": "^1.2.0",
|
|
49
|
+
"core-js": "^3.23.3",
|
|
50
|
+
"dayjs": "^1.11.3",
|
|
55
51
|
"lodash": "^4.17.21",
|
|
56
52
|
"prop-types": "^15.8.1",
|
|
57
53
|
"rc-slider": "9.7.5",
|
|
58
54
|
"rc-tooltip": "^3.7.3",
|
|
59
55
|
"react-color": "^2.19.3",
|
|
60
|
-
"react-table": "^7.
|
|
56
|
+
"react-table": "^7.8.0"
|
|
61
57
|
},
|
|
62
58
|
"devDependencies": {
|
|
63
59
|
"@testing-library/jest-dom": "^5.16.4",
|
|
64
60
|
"@testing-library/react": "^12.1.2",
|
|
65
|
-
"@testing-library/react-hooks": "^
|
|
66
|
-
"@testing-library/user-event": "^
|
|
61
|
+
"@testing-library/react-hooks": "^8.0.1",
|
|
62
|
+
"@testing-library/user-event": "^12.8.3",
|
|
67
63
|
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.7",
|
|
68
64
|
"del-cli": "^4.0.1",
|
|
69
65
|
"enzyme": "^3.11.0",
|
|
70
66
|
"enzyme-to-json": "^3.6.2",
|
|
71
|
-
"jest": "^
|
|
72
|
-
"jest-
|
|
73
|
-
"jest-
|
|
67
|
+
"jest": "^28.1.2",
|
|
68
|
+
"jest-environment-jsdom": "^28.1.2",
|
|
69
|
+
"jest-fail-on-console": "^2.4.2",
|
|
70
|
+
"jest-junit": "^14.0.0",
|
|
74
71
|
"npm-run-all": "^4.1.5"
|
|
75
72
|
},
|
|
76
73
|
"files": [
|
|
77
74
|
"dist"
|
|
78
75
|
],
|
|
79
|
-
"jest": {
|
|
80
|
-
"testEnvironment": "node"
|
|
81
|
-
},
|
|
82
76
|
"publishConfig": {
|
|
83
77
|
"access": "public"
|
|
84
78
|
},
|
|
85
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "22bebe9cc9c657e7aedbecfb69f47fa6837da6c4"
|
|
86
80
|
}
|