@hitachivantara/uikit-react-lab 3.47.3 → 3.49.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/Controls/Controls.d.ts +57 -0
- package/dist/Controls/Controls.js +197 -0
- package/dist/Controls/Controls.js.map +1 -0
- package/dist/Controls/LeftControl/LeftControl.d.ts +32 -0
- package/dist/Controls/LeftControl/LeftControl.js +130 -0
- package/dist/Controls/LeftControl/LeftControl.js.map +1 -0
- package/dist/Controls/LeftControl/index.d.ts +2 -0
- package/dist/Controls/LeftControl/index.js +16 -0
- package/dist/Controls/LeftControl/index.js.map +1 -0
- package/dist/Controls/LeftControl/styles.js +19 -0
- package/dist/Controls/LeftControl/styles.js.map +1 -0
- package/dist/Controls/RightControl/RightControl.d.ts +43 -0
- package/dist/Controls/RightControl/RightControl.js +167 -0
- package/dist/Controls/RightControl/RightControl.js.map +1 -0
- package/dist/Controls/RightControl/index.d.ts +2 -0
- package/dist/Controls/RightControl/index.js +16 -0
- package/dist/Controls/RightControl/index.js.map +1 -0
- package/dist/Controls/RightControl/styles.js +22 -0
- package/dist/Controls/RightControl/styles.js.map +1 -0
- package/dist/Controls/context/ControlsContext.js +21 -0
- package/dist/Controls/context/ControlsContext.js.map +1 -0
- package/dist/Controls/index.d.ts +3 -0
- package/dist/Controls/index.js +32 -0
- package/dist/Controls/index.js.map +1 -0
- package/dist/Controls/styles.js +30 -0
- package/dist/Controls/styles.js.map +1 -0
- 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/index.d.ts +3 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy/Controls/Controls.d.ts +57 -0
- package/dist/legacy/Controls/Controls.js +174 -0
- package/dist/legacy/Controls/Controls.js.map +1 -0
- package/dist/legacy/Controls/LeftControl/LeftControl.d.ts +32 -0
- package/dist/legacy/Controls/LeftControl/LeftControl.js +91 -0
- package/dist/legacy/Controls/LeftControl/LeftControl.js.map +1 -0
- package/dist/legacy/Controls/LeftControl/index.d.ts +2 -0
- package/dist/legacy/Controls/LeftControl/index.js +2 -0
- package/dist/legacy/Controls/LeftControl/index.js.map +1 -0
- package/dist/legacy/Controls/LeftControl/styles.js +11 -0
- package/dist/legacy/Controls/LeftControl/styles.js.map +1 -0
- package/dist/legacy/Controls/RightControl/RightControl.d.ts +43 -0
- package/dist/legacy/Controls/RightControl/RightControl.js +125 -0
- package/dist/legacy/Controls/RightControl/RightControl.js.map +1 -0
- package/dist/legacy/Controls/RightControl/index.d.ts +2 -0
- package/dist/legacy/Controls/RightControl/index.js +2 -0
- package/dist/legacy/Controls/RightControl/index.js.map +1 -0
- package/dist/legacy/Controls/RightControl/styles.js +14 -0
- package/dist/legacy/Controls/RightControl/styles.js.map +1 -0
- package/dist/legacy/Controls/context/ControlsContext.js +6 -0
- package/dist/legacy/Controls/context/ControlsContext.js.map +1 -0
- package/dist/legacy/Controls/index.d.ts +3 -0
- package/dist/legacy/Controls/index.js +4 -0
- package/dist/legacy/Controls/index.js.map +1 -0
- package/dist/legacy/Controls/styles.js +22 -0
- package/dist/legacy/Controls/styles.js.map +1 -0
- 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/legacy/index.d.ts +3 -0
- package/dist/legacy/index.js +2 -0
- package/dist/legacy/index.js.map +1 -1
- package/dist/modern/Controls/Controls.d.ts +57 -0
- package/dist/modern/Controls/Controls.js +164 -0
- package/dist/modern/Controls/Controls.js.map +1 -0
- package/dist/modern/Controls/LeftControl/LeftControl.d.ts +32 -0
- package/dist/modern/Controls/LeftControl/LeftControl.js +90 -0
- package/dist/modern/Controls/LeftControl/LeftControl.js.map +1 -0
- package/dist/modern/Controls/LeftControl/index.d.ts +2 -0
- package/dist/modern/Controls/LeftControl/index.js +2 -0
- package/dist/modern/Controls/LeftControl/index.js.map +1 -0
- package/dist/modern/Controls/LeftControl/styles.js +9 -0
- package/dist/modern/Controls/LeftControl/styles.js.map +1 -0
- package/dist/modern/Controls/RightControl/RightControl.d.ts +43 -0
- package/dist/modern/Controls/RightControl/RightControl.js +109 -0
- package/dist/modern/Controls/RightControl/RightControl.js.map +1 -0
- package/dist/modern/Controls/RightControl/index.d.ts +2 -0
- package/dist/modern/Controls/RightControl/index.js +2 -0
- package/dist/modern/Controls/RightControl/index.js.map +1 -0
- package/dist/modern/Controls/RightControl/styles.js +12 -0
- package/dist/modern/Controls/RightControl/styles.js.map +1 -0
- package/dist/modern/Controls/context/ControlsContext.js +6 -0
- package/dist/modern/Controls/context/ControlsContext.js.map +1 -0
- package/dist/modern/Controls/index.d.ts +3 -0
- package/dist/modern/Controls/index.js +4 -0
- package/dist/modern/Controls/index.js.map +1 -0
- package/dist/modern/Controls/styles.js +20 -0
- package/dist/modern/Controls/styles.js.map +1 -0
- 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/dist/modern/index.d.ts +3 -0
- package/dist/modern/index.js +2 -0
- package/dist/modern/index.js.map +1 -1
- package/package.json +22 -28
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
const _excluded = ["id", "classes", "className", "children", "placeholder", "onSearch", "hideSearch", "searchProps"];
|
|
4
|
+
import React, { useContext } from "react";
|
|
5
|
+
import clsx from "clsx";
|
|
6
|
+
import PropTypes from "prop-types";
|
|
7
|
+
import { withStyles } from "@material-ui/core";
|
|
8
|
+
import { HvInput, setId } from "@hitachivantara/uikit-react-core";
|
|
9
|
+
import { HvControlsContext } from "../context/ControlsContext";
|
|
10
|
+
import styleCreator from "./styles";
|
|
11
|
+
|
|
12
|
+
const HvLeftControl = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
id,
|
|
15
|
+
classes,
|
|
16
|
+
className,
|
|
17
|
+
children,
|
|
18
|
+
placeholder = "Search",
|
|
19
|
+
onSearch,
|
|
20
|
+
hideSearch = false,
|
|
21
|
+
searchProps
|
|
22
|
+
} = _ref,
|
|
23
|
+
others = _objectWithoutProperties(_ref, _excluded);
|
|
24
|
+
|
|
25
|
+
const {
|
|
26
|
+
onSearch: onSearchHandler
|
|
27
|
+
} = useContext(HvControlsContext);
|
|
28
|
+
|
|
29
|
+
const onChangeFilter = (e, value) => {
|
|
30
|
+
onSearch === null || onSearch === void 0 ? void 0 : onSearch(e, value);
|
|
31
|
+
onSearchHandler === null || onSearchHandler === void 0 ? void 0 : onSearchHandler(value);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
35
|
+
id: id,
|
|
36
|
+
className: clsx(className, classes.root)
|
|
37
|
+
}, others), !hideSearch && /*#__PURE__*/React.createElement(HvInput, _extends({
|
|
38
|
+
id: setId(id, "search-input"),
|
|
39
|
+
type: "search",
|
|
40
|
+
placeholder: placeholder,
|
|
41
|
+
onChange: (e, value) => onChangeFilter(e, value)
|
|
42
|
+
}, searchProps)), children);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
process.env.NODE_ENV !== "production" ? HvLeftControl.propTypes = {
|
|
46
|
+
/** Children to be rendered. */
|
|
47
|
+
id: PropTypes.string,
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Class names to be applied.
|
|
51
|
+
*/
|
|
52
|
+
className: PropTypes.string,
|
|
53
|
+
|
|
54
|
+
/** Children to be rendered. */
|
|
55
|
+
children: PropTypes.node,
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* the classes object to be applied.
|
|
59
|
+
*/
|
|
60
|
+
classes: PropTypes.shape({
|
|
61
|
+
/**
|
|
62
|
+
* Style applied to the root of the component.
|
|
63
|
+
*/
|
|
64
|
+
root: PropTypes.string,
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Style applied to the dropdown in charge of sorting.
|
|
68
|
+
*/
|
|
69
|
+
sortDropdown: PropTypes.string
|
|
70
|
+
}).isRequired,
|
|
71
|
+
|
|
72
|
+
/** Placeholder text to be show within the search input. */
|
|
73
|
+
placeholder: PropTypes.string,
|
|
74
|
+
|
|
75
|
+
/** Callback fired when the user starts to type in the search field. */
|
|
76
|
+
onSearch: PropTypes.func,
|
|
77
|
+
|
|
78
|
+
/** Boolean to control whether if the search input should appears or not. */
|
|
79
|
+
hideSearch: PropTypes.bool,
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Extra props to be passed onto the input
|
|
83
|
+
*/
|
|
84
|
+
searchProps: PropTypes.object
|
|
85
|
+
} : void 0;
|
|
86
|
+
export default withStyles(styleCreator, {
|
|
87
|
+
name: "HvLeftControl",
|
|
88
|
+
withTheme: true
|
|
89
|
+
})(HvLeftControl);
|
|
90
|
+
//# sourceMappingURL=LeftControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeftControl.js","names":["React","useContext","clsx","PropTypes","withStyles","HvInput","setId","HvControlsContext","styleCreator","HvLeftControl","id","classes","className","children","placeholder","onSearch","hideSearch","searchProps","others","onSearchHandler","onChangeFilter","e","value","root","propTypes","string","node","shape","sortDropdown","isRequired","func","bool","object","name","withTheme"],"sources":["../../../../src/Controls/LeftControl/LeftControl.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvInput, setId } from \"@hitachivantara/uikit-react-core\";\nimport { HvControlsContext } from \"../context/ControlsContext\";\nimport styleCreator from \"./styles\";\n\nconst HvLeftControl = ({\n id,\n classes,\n className,\n children,\n placeholder = \"Search\",\n onSearch,\n hideSearch = false,\n searchProps,\n ...others\n}) => {\n const { onSearch: onSearchHandler } = useContext(HvControlsContext);\n\n const onChangeFilter = (e, value) => {\n onSearch?.(e, value);\n onSearchHandler?.(value);\n };\n\n return (\n <div id={id} className={clsx(className, classes.root)} {...others}>\n {!hideSearch && (\n <HvInput\n id={setId(id, \"search-input\")}\n type=\"search\"\n placeholder={placeholder}\n onChange={(e, value) => onChangeFilter(e, value)}\n {...searchProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nHvLeftControl.propTypes = {\n /** Children to be rendered. */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /** Children to be rendered. */\n children: PropTypes.node,\n /**\n * the classes object to be applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the dropdown in charge of sorting.\n */\n sortDropdown: PropTypes.string,\n }).isRequired,\n /** Placeholder text to be show within the search input. */\n placeholder: PropTypes.string,\n /** Callback fired when the user starts to type in the search field. */\n onSearch: PropTypes.func,\n /** Boolean to control whether if the search input should appears or not. */\n hideSearch: PropTypes.bool,\n /**\n * Extra props to be passed onto the input\n */\n searchProps: PropTypes.object,\n};\n\nexport default withStyles(styleCreator, { name: \"HvLeftControl\", withTheme: true })(HvLeftControl);\n"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,OAAT,EAAkBC,KAAlB,QAA+B,kCAA/B;AACA,SAASC,iBAAT,QAAkC,4BAAlC;AACA,OAAOC,YAAP,MAAyB,UAAzB;;AAEA,MAAMC,aAAa,GAAG,QAUhB;EAAA,IAViB;IACrBC,EADqB;IAErBC,OAFqB;IAGrBC,SAHqB;IAIrBC,QAJqB;IAKrBC,WAAW,GAAG,QALO;IAMrBC,QANqB;IAOrBC,UAAU,GAAG,KAPQ;IAQrBC;EARqB,CAUjB;EAAA,IADDC,MACC;;EACJ,MAAM;IAAEH,QAAQ,EAAEI;EAAZ,IAAgClB,UAAU,CAACM,iBAAD,CAAhD;;EAEA,MAAMa,cAAc,GAAG,CAACC,CAAD,EAAIC,KAAJ,KAAc;IACnCP,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGM,CAAH,EAAMC,KAAN,CAAR;IACAH,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAGG,KAAH,CAAf;EACD,CAHD;;EAKA,oBACE;IAAK,EAAE,EAAEZ,EAAT;IAAa,SAAS,EAAER,IAAI,CAACU,SAAD,EAAYD,OAAO,CAACY,IAApB;EAA5B,GAA2DL,MAA3D,GACG,CAACF,UAAD,iBACC,oBAAC,OAAD;IACE,EAAE,EAAEV,KAAK,CAACI,EAAD,EAAK,cAAL,CADX;IAEE,IAAI,EAAC,QAFP;IAGE,WAAW,EAAEI,WAHf;IAIE,QAAQ,EAAE,CAACO,CAAD,EAAIC,KAAJ,KAAcF,cAAc,CAACC,CAAD,EAAIC,KAAJ;EAJxC,GAKML,WALN,EAFJ,EAUGJ,QAVH,CADF;AAcD,CAhCD;;AAkCA,wCAAAJ,aAAa,CAACe,SAAd,GAA0B;EACxB;EACAd,EAAE,EAAEP,SAAS,CAACsB,MAFU;;EAGxB;AACF;AACA;EACEb,SAAS,EAAET,SAAS,CAACsB,MANG;;EAOxB;EACAZ,QAAQ,EAAEV,SAAS,CAACuB,IARI;;EASxB;AACF;AACA;EACEf,OAAO,EAAER,SAAS,CAACwB,KAAV,CAAgB;IACvB;AACJ;AACA;IACIJ,IAAI,EAAEpB,SAAS,CAACsB,MAJO;;IAKvB;AACJ;AACA;IACIG,YAAY,EAAEzB,SAAS,CAACsB;EARD,CAAhB,EASNI,UArBqB;;EAsBxB;EACAf,WAAW,EAAEX,SAAS,CAACsB,MAvBC;;EAwBxB;EACAV,QAAQ,EAAEZ,SAAS,CAAC2B,IAzBI;;EA0BxB;EACAd,UAAU,EAAEb,SAAS,CAAC4B,IA3BE;;EA4BxB;AACF;AACA;EACEd,WAAW,EAAEd,SAAS,CAAC6B;AA/BC,CAA1B;AAkCA,eAAe5B,UAAU,CAACI,YAAD,EAAe;EAAEyB,IAAI,EAAE,eAAR;EAAyBC,SAAS,EAAE;AAApC,CAAf,CAAV,CAAqEzB,aAArE,CAAf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../../src/Controls/LeftControl/index.js"],"sourcesContent":["export { default } from \"./LeftControl\";\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,eAAxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","root","display","gap"],"sources":["../../../../src/Controls/LeftControl/styles.js"],"sourcesContent":["const styles = () => ({\n root: {\n display: \"inline-flex\",\n gap: 10,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,OAAO;EACpBC,IAAI,EAAE;IACJC,OAAO,EAAE,aADL;IAEJC,GAAG,EAAE;EAFD;AADc,CAAP,CAAf;;AAOA,eAAeH,MAAf"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { StandardProps } from "@material-ui/core";
|
|
2
|
+
import { HvDropdownProps, ListValueProp } from "@hitachivantara/uikit-react-core";
|
|
3
|
+
|
|
4
|
+
export type HvRightControlClassKey = "root" | "sortDropdown";
|
|
5
|
+
|
|
6
|
+
export interface HvControlsViewConfiguration extends Record<string, unknown> {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
icon: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface RightListControls extends ListValueProp {
|
|
13
|
+
accesor: string;
|
|
14
|
+
desc: boolean;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface HvRightControlProps
|
|
18
|
+
extends StandardProps<React.HTMLAttributes<HTMLDivElement>, HvRightControlClassKey> {
|
|
19
|
+
/** Children to be rendered. */
|
|
20
|
+
id?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Class names to be applied.
|
|
23
|
+
*/
|
|
24
|
+
className?: string;
|
|
25
|
+
/**
|
|
26
|
+
* if `true` the hide sort by dropdown is not rendered
|
|
27
|
+
*/
|
|
28
|
+
hideSortBy?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* options for the dropdown to sort
|
|
31
|
+
*/
|
|
32
|
+
values?: RightListControls[];
|
|
33
|
+
/**
|
|
34
|
+
* Callback called when a sort action occurs
|
|
35
|
+
*/
|
|
36
|
+
onSort?: (selected: RightListControls | ListValueProp | ListValueProp[] | undefined) => void;
|
|
37
|
+
/**
|
|
38
|
+
* Extra props passed to dropdown
|
|
39
|
+
*/
|
|
40
|
+
sortProps?: HvDropdownProps;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export default function HvRightControl(props: HvRightControlProps): JSX.Element | null;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
const _excluded = ["id", "classes", "className", "children", "values", "onSort", "hideSortBy", "sortProps"];
|
|
5
|
+
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
+
|
|
10
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
11
|
+
import React, { useContext, useState } from "react";
|
|
12
|
+
import PropTypes from "prop-types";
|
|
13
|
+
import clsx from "clsx";
|
|
14
|
+
import { withStyles } from "@material-ui/core";
|
|
15
|
+
import { HvDropdown, setId } from "@hitachivantara/uikit-react-core";
|
|
16
|
+
import styleCreator from "./styles";
|
|
17
|
+
import { HvControlsContext } from "../context/ControlsContext";
|
|
18
|
+
|
|
19
|
+
const HvRightControl = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
id,
|
|
22
|
+
classes,
|
|
23
|
+
className,
|
|
24
|
+
children,
|
|
25
|
+
values,
|
|
26
|
+
onSort,
|
|
27
|
+
hideSortBy = false,
|
|
28
|
+
sortProps
|
|
29
|
+
} = _ref,
|
|
30
|
+
others = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
+
|
|
32
|
+
const [dropDownValues, setDropdownValues] = useState(values);
|
|
33
|
+
const {
|
|
34
|
+
onSort: onSortHandler
|
|
35
|
+
} = useContext(HvControlsContext);
|
|
36
|
+
|
|
37
|
+
const handleChangeSort = value => {
|
|
38
|
+
onSort === null || onSort === void 0 ? void 0 : onSort(value);
|
|
39
|
+
onSortHandler === null || onSortHandler === void 0 ? void 0 : onSortHandler(value); // this should be changed when dropdown changes his "values" behavior
|
|
40
|
+
|
|
41
|
+
setDropdownValues(prevValues => prevValues.map(prevValue => _objectSpread(_objectSpread({}, prevValue), {}, {
|
|
42
|
+
selected: prevValue.id === value.id
|
|
43
|
+
})));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
47
|
+
id: id,
|
|
48
|
+
className: clsx(className, classes.root)
|
|
49
|
+
}, others), !hideSortBy && /*#__PURE__*/React.createElement(HvDropdown, _extends({
|
|
50
|
+
id: setId(id, "sort-by-dropdown"),
|
|
51
|
+
values: dropDownValues,
|
|
52
|
+
className: classes.sortDropdown,
|
|
53
|
+
onChange: handleChangeSort,
|
|
54
|
+
singleSelectionToggle: false
|
|
55
|
+
}, sortProps)), children);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
process.env.NODE_ENV !== "production" ? HvRightControl.propTypes = {
|
|
59
|
+
/** Children to be rendered. */
|
|
60
|
+
id: PropTypes.string,
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Class names to be applied.
|
|
64
|
+
*/
|
|
65
|
+
className: PropTypes.string,
|
|
66
|
+
|
|
67
|
+
/** Children to be rendered. */
|
|
68
|
+
children: PropTypes.node,
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* the classes object to be applied.
|
|
72
|
+
*/
|
|
73
|
+
classes: PropTypes.shape({
|
|
74
|
+
/**
|
|
75
|
+
* Style applied to the root of the component.
|
|
76
|
+
*/
|
|
77
|
+
root: PropTypes.string,
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Style applied to the dropdown in charge of sorting.
|
|
81
|
+
*/
|
|
82
|
+
sortDropdown: PropTypes.string
|
|
83
|
+
}).isRequired,
|
|
84
|
+
|
|
85
|
+
/** Data collection to be listed on the sort field. */
|
|
86
|
+
values: PropTypes.arrayOf(PropTypes.shape({
|
|
87
|
+
id: PropTypes.string,
|
|
88
|
+
accessor: PropTypes.string,
|
|
89
|
+
label: PropTypes.string,
|
|
90
|
+
selected: PropTypes.bool,
|
|
91
|
+
desc: PropTypes.bool
|
|
92
|
+
})),
|
|
93
|
+
|
|
94
|
+
/** Callback fired when the selected sort item is changed. */
|
|
95
|
+
onSort: PropTypes.func,
|
|
96
|
+
|
|
97
|
+
/** Boolean to control whether if the sort input should appears or not. */
|
|
98
|
+
hideSortBy: PropTypes.bool,
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Extra props to be passed onto the dropdown
|
|
102
|
+
*/
|
|
103
|
+
sortProps: PropTypes.object
|
|
104
|
+
} : void 0;
|
|
105
|
+
export default withStyles(styleCreator, {
|
|
106
|
+
name: "HvRightControl",
|
|
107
|
+
withTheme: true
|
|
108
|
+
})(HvRightControl);
|
|
109
|
+
//# sourceMappingURL=RightControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RightControl.js","names":["React","useContext","useState","PropTypes","clsx","withStyles","HvDropdown","setId","styleCreator","HvControlsContext","HvRightControl","id","classes","className","children","values","onSort","hideSortBy","sortProps","others","dropDownValues","setDropdownValues","onSortHandler","handleChangeSort","value","prevValues","map","prevValue","selected","root","sortDropdown","propTypes","string","node","shape","isRequired","arrayOf","accessor","label","bool","desc","func","object","name","withTheme"],"sources":["../../../../src/Controls/RightControl/RightControl.js"],"sourcesContent":["import React, { useContext, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvDropdown, setId } from \"@hitachivantara/uikit-react-core\";\nimport styleCreator from \"./styles\";\nimport { HvControlsContext } from \"../context/ControlsContext\";\n\nconst HvRightControl = ({\n id,\n classes,\n className,\n children,\n values,\n onSort,\n hideSortBy = false,\n sortProps,\n ...others\n}) => {\n const [dropDownValues, setDropdownValues] = useState(values);\n\n const { onSort: onSortHandler } = useContext(HvControlsContext);\n\n const handleChangeSort = (value) => {\n onSort?.(value);\n onSortHandler?.(value);\n // this should be changed when dropdown changes his \"values\" behavior\n setDropdownValues((prevValues) =>\n prevValues.map((prevValue) => ({\n ...prevValue,\n selected: prevValue.id === value.id,\n }))\n );\n };\n return (\n <div id={id} className={clsx(className, classes.root)} {...others}>\n {!hideSortBy && (\n <HvDropdown\n id={setId(id, \"sort-by-dropdown\")}\n values={dropDownValues}\n className={classes.sortDropdown}\n onChange={handleChangeSort}\n singleSelectionToggle={false}\n {...sortProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nHvRightControl.propTypes = {\n /** Children to be rendered. */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /** Children to be rendered. */\n children: PropTypes.node,\n /**\n * the classes object to be applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the dropdown in charge of sorting.\n */\n sortDropdown: PropTypes.string,\n }).isRequired,\n /** Data collection to be listed on the sort field. */\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n accessor: PropTypes.string,\n label: PropTypes.string,\n selected: PropTypes.bool,\n desc: PropTypes.bool,\n })\n ),\n /** Callback fired when the selected sort item is changed. */\n onSort: PropTypes.func,\n /** Boolean to control whether if the sort input should appears or not. */\n hideSortBy: PropTypes.bool,\n /**\n * Extra props to be passed onto the dropdown\n */\n sortProps: PropTypes.object,\n};\n\nexport default withStyles(styleCreator, { name: \"HvRightControl\", withTheme: true })(\n HvRightControl\n);\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../../src/Controls/RightControl/index.js"],"sourcesContent":["export { default } from \"./RightControl\";\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,gBAAxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","root","display","gap","sortDropdown","minWidth"],"sources":["../../../../src/Controls/RightControl/styles.js"],"sourcesContent":["const styles = () => ({\n root: {\n display: \"inline-flex\",\n gap: 10,\n },\n sortDropdown: {\n minWidth: 200,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,OAAO;EACpBC,IAAI,EAAE;IACJC,OAAO,EAAE,aADL;IAEJC,GAAG,EAAE;EAFD,CADc;EAKpBC,YAAY,EAAE;IACZC,QAAQ,EAAE;EADE;AALM,CAAP,CAAf;;AAUA,eAAeL,MAAf"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export const HvControlsContext = /*#__PURE__*/React.createContext({});
|
|
3
|
+
export const HvControlsContextProvider = HvControlsContext.Provider;
|
|
4
|
+
export const HvControlsContextConsumer = HvControlsContext.Consumer;
|
|
5
|
+
export default HvControlsContext;
|
|
6
|
+
//# sourceMappingURL=ControlsContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlsContext.js","names":["React","HvControlsContext","createContext","HvControlsContextProvider","Provider","HvControlsContextConsumer","Consumer"],"sources":["../../../../src/Controls/context/ControlsContext.js"],"sourcesContent":["import React from \"react\";\n\nexport const HvControlsContext = React.createContext({});\n\nexport const HvControlsContextProvider = HvControlsContext.Provider;\nexport const HvControlsContextConsumer = HvControlsContext.Consumer;\nexport default HvControlsContext;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAO,MAAMC,iBAAiB,gBAAGD,KAAK,CAACE,aAAN,CAAoB,EAApB,CAA1B;AAEP,OAAO,MAAMC,yBAAyB,GAAGF,iBAAiB,CAACG,QAApD;AACP,OAAO,MAAMC,yBAAyB,GAAGJ,iBAAiB,CAACK,QAApD;AACP,eAAeL,iBAAf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","HvLeftControl","HvRightControl"],"sources":["../../../src/Controls/index.js"],"sourcesContent":["export { default } from \"./Controls\";\nexport { default as HvLeftControl } from \"./LeftControl\";\nexport { default as HvRightControl } from \"./RightControl\";\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,YAAxB;AACA,SAASA,OAAO,IAAIC,aAApB,QAAyC,eAAzC;AACA,SAASD,OAAO,IAAIE,cAApB,QAA0C,gBAA1C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const styles = () => ({
|
|
2
|
+
root: {
|
|
3
|
+
display: "inline-flex",
|
|
4
|
+
width: "100%",
|
|
5
|
+
justifyContent: "space-between"
|
|
6
|
+
},
|
|
7
|
+
section: {
|
|
8
|
+
display: "inline-flex",
|
|
9
|
+
alignItems: "flex-end",
|
|
10
|
+
gap: 10
|
|
11
|
+
},
|
|
12
|
+
leftSection: {},
|
|
13
|
+
rightSection: {},
|
|
14
|
+
sortInput: {
|
|
15
|
+
minWidth: 200
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export default styles;
|
|
20
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","root","display","width","justifyContent","section","alignItems","gap","leftSection","rightSection","sortInput","minWidth"],"sources":["../../../src/Controls/styles.js"],"sourcesContent":["const styles = () => ({\n root: {\n display: \"inline-flex\",\n width: \"100%\",\n justifyContent: \"space-between\",\n },\n section: {\n display: \"inline-flex\",\n alignItems: \"flex-end\",\n gap: 10,\n },\n leftSection: {},\n rightSection: {},\n sortInput: {\n minWidth: 200,\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,MAAMA,MAAM,GAAG,OAAO;EACpBC,IAAI,EAAE;IACJC,OAAO,EAAE,aADL;IAEJC,KAAK,EAAE,MAFH;IAGJC,cAAc,EAAE;EAHZ,CADc;EAMpBC,OAAO,EAAE;IACPH,OAAO,EAAE,aADF;IAEPI,UAAU,EAAE,UAFL;IAGPC,GAAG,EAAE;EAHE,CANW;EAWpBC,WAAW,EAAE,EAXO;EAYpBC,YAAY,EAAE,EAZM;EAapBC,SAAS,EAAE;IACTC,QAAQ,EAAE;EADD;AAbS,CAAP,CAAf;;AAkBA,eAAeX,MAAf"}
|
|
@@ -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/dist/modern/index.d.ts
CHANGED
package/dist/modern/index.js
CHANGED
|
@@ -14,6 +14,8 @@ export { default as HvTag } from "./Tag";
|
|
|
14
14
|
export { default as HvDrawer } from "./Drawer";
|
|
15
15
|
export { default as HvColorPicker } from "./ColorPicker";
|
|
16
16
|
export { default as HvQueryBuilder } from "./QueryBuilder";
|
|
17
|
+
export { default as HvControls } from "./Controls";
|
|
18
|
+
export * from "./Controls";
|
|
17
19
|
export * from "./QueryBuilder";
|
|
18
20
|
export { default as HvInlineEditor } from "./InlineEditor";
|
|
19
21
|
export { default as HvProgressBar } from "./ProgressBar";
|